循环遍历 Javascript 数组

51 浏览
0 Comments

循环遍历 Javascript 数组

这个问题已经有了答案

如何在JavaScript中循环(for each)遍历数组

我正在使用 Google Chrome 的控制台窗口尝试弄清楚为什么我无法在 JavaScript 中循环遍历数组。

我有一个名为 moveResult 的 JavaScript 对象,看起来像这样:

\"enter

我试图像这样在 JavaScript 中循环遍历 MoveParts

for (var movePart in moveResult.MoveParts) {
    console.log(movePart.From);
};

我总是得到 undefined 而不是实际值。然而,如果我尝试显式访问第一个项,我会得到我想要的结果,像这样:

console.log(moveResult.MoveParts[0].From);

这个的结果是\"b1\"

为什么我的循环不起作用?

我也尝试过使用 foreach:

moveResult.MoveParts.foreach(function (movePart) {
    console.log(movePart.From);
};

admin 更改状态以发布 2023年5月20日
0
0 Comments

我试图像这样在 JavaScript 中循环遍历 MoveParts:

for (var movePart in moveResult.MoveParts) {
    console.log(movePart.From);
};

我总是得到 undefined 而不是实际值。

不要使用 for-in 循环遍历数组,那不是它的作用。 for-in 是用来循环遍历对象属性的。 这个答案展示了遍历数组的各种方法。

你的 for-in 不起作用的原因是,movePart 是键名,而不是实际的数组项,所以如果你使用的是一个对象(而不是数组!),你应该使用 moveResult.MoveParts[movePart].From

你的 forEach 版本失败是因为:

  1. 它应该是 forEach,而不是 foreach。在 JavaScript 中大小写是有区别的。

  2. 你在函数调用上缺少了闭合的 )

上面链接的答案有关于 forEach 和其他方法的完整示例,但这是你的代码应该看起来的样子:

    moveResult.MoveParts.forEach(function (movePart) {
    // Capital E -----------^
        console.log(movePart.From);
    });
//   ^---- closing )

0