【发布时间】:2017-05-03 17:56:46
【问题描述】:
我知道这个问题已经存在了一段时间,但我还没有找到可以解决我的问题的答案(抱歉,如果我遗漏了任何问题)。
无论如何,我有以下代码:
for(let i=0; i<array.length; i++) {
let value = array[i];
let anotherValue = anotherArray.find(val => val.key === value.key);
}
该代码使 jshint 抛出警告:不要在循环中创建函数。 (W083)
我需要访问“for”范围内的变量这一事实使我需要在其中声明一个函数。
我尝试了以下方法:
let myFunc = (val) => {
//no value here to compare
}
for(let i=0; i<array.length; i++) {
let value = array[i];
let anotherValue = anotherArray.find(myFunc);
}
如果我在 for 之外声明它,我将无法访问 value 变量。
【问题讨论】:
-
只需关闭该警告消息。
-
问题根本不在于消息。那很容易摆脱。我只是认为它必须是一个更好的实现。
-
你的实现绝对没问题。
标签: javascript jshint