为什么我的数组中有空项目以及如何删除它们?

ACF*_*ACF 5 javascript arrays for-loop function

我正在使用 Visual Studio 代码。我正在尝试使用 JavaScript 返回一个仅包含奇数的数组。这是代码:

function oddCouple(arr) {
  for (let i = 0; i < arr.length; i++) {
    if (arr[i] % 2 == 0) {
      delete arr[i];
    }
  }
  return arr;
}

console.log(oddCouple([2, 6, 7, 0, 1, 3, 7, 5]));
Run Code Online (Sandbox Code Playgroud)

这就是我得到的。我不想要空的项目,只想要奇数。

[ <2 empty items>, 7, <1 empty item>, 1, 3, 7, 5 ]
Run Code Online (Sandbox Code Playgroud)

f-C*_*-CJ 2

该delete函数删除项目的内容,但保留一个空槽。

您需要该splice方法来删除元素而不留下空槽。

arr.splice(i, 1);
Run Code Online (Sandbox Code Playgroud)