javascript - 有人可以解释 forEach 循环吗?

标签 javascript arrays function object ecmascript-6

好的,这就是我对 forEach 的了解。

forEach 循环从数组中提取数据,并在数组中的每个元素上调用放置在其中的函数。我似乎无法理解这个概念。我还在学习 JS,已经一个月了所以请耐心等待我。我试过使用 for 循环,它似乎有效,我只是不知道如何将它合并为 forEach

function CreateSuspectObjects (name) {
  return {
    name: name,
    color: name.split('')[1],
    speak() {
      console.log(`My name is ${name}`);
    }
  };
};

let suspects = ['Miss Scarlet', 'Colonel Mustard', 'Mr. White'];

let suspectsList = [];

// Using a for loop

for(let i = 0; i < suspects.length; i++){
    suspectsList.push(CreateSuspectsObjects(suspects[i]))
};

就像我说过的,我仍在学习 JS,并不真正理解 forEach 循环。我试过 suspects.forEach(CreateSuspectObjects),但它对我来说没有任何意义。

最佳答案

forEach 循环只是一种简化传统for 循环的方法。您向它传递一个函数,该函数就是 for 循环的 {} 中通常包含的任何内容。但是,对于该函数,您需要注意参数顺序:

item
index
array

这意味着如果你想要你的项目的索引,而不是项目本身,你需要使用函数的第二个参数:

arr.forEach((item, index) => doSomething.with(index));

请注意,以上称为箭头函数,它是 ES6 的新功能。它相当于:

arr.forEach(function(item, index) {
  doSomething.with(index);
});

关于javascript - 有人可以解释 forEach 循环吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55841899/

相关文章:

javascript - Javascript 中的传递性减少

javascript - ng-repeat 自定义不同样式的显示模式

javascript - 为什么条件在javascript中总是为真?

java - 创建数组的数组列表

javascript - toLowerCase() 如何在 Javascript 中工作?

c - 如何优雅地构造在 C 中迭代数组的长参数列表

javascript - Material UI 监听桌面上的滚动(React)

javascript - 将长的 JavaScript 数组传递给代码隐藏?

javascript - 从 JSON 对象中的数组获取数据

function - Julia 中的卡方表函数