Leetcode练习--为什么条件在for循环中不起作用?

问题描述 投票:0回答:1

我正在研究 Leetcode 第 283 题,移动零。我正在使用 Visual Studio Code 中的调试工具进行检查,但循环仍在运行,并且条件似乎不起作用。它是否与任何调整数组大小/链接列表问题有关?

这是我的代码:

var moveZeroes = function (nums) {
  let count = 0;
  for (let i = 0; i < nums.length - count; i++) {
    if (nums[i] === 0) {
      nums.splice(i, 1)
      nums.push(0)
      i = i - 1
      count++
      }
    }
  };
javascript arrays pointers
1个回答
0
投票

这个可能可以回答我的问题。 循环数组并删除项目,而不中断 for 循环

但我仍然想知道幕后发生了什么, 看来 .splice() 和 .length 的组合可能很危险。

© www.soinside.com 2019 - 2024. All rights reserved.