gpt4 book ai didi

javascript - 在循环中使用 Array.prototype.forEach 可以吗?

转载 作者:行者123 更新时间:2023-11-30 10:19:12 26 4
gpt4 key购买 nike

JSHint 提示我,因为我使用 for(o in ...) 循环一个对象,然后使用 o.somearray.forEach(function(){。 ..}); 里面。它说不要在循环内创建函数,但在这种情况下它是否重要?它看起来更好一些,因为线条更少而且看起来(稍微)更好,但是它有什么重大意义吗?

使用普通的 for 循环并像这样遍历数组更好,还是创建一个函数并使用 ECMA 5 版本更好?

我正在做这样的事情:

for(var i in data) {
data[i].arr.forEach(function(...) {
// do magic
});
}

最佳答案

可以使用 forEach,这里建议您传递给 forEach 的函数应该在循环之外创建,例如以下:

var doMagic = function(...) {
// do magic
};
for (var i in data) {
data[i].arr.forEach(doMagic);
}

不鼓励在循环内创建函数,因为它效率低下,JavaScript 解释器将在每次循环迭代时创建一个函数实例。 JSLint Error Explanations: Don't make functions within a loop 中提供了更多详细信息.

关于javascript - 在循环中使用 Array.prototype.forEach 可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22179590/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com