我有一个MEAN js应用程序,每当我在数组上使用find
时,回调函数就不会被执行,find
直接返回-1
。
当我在项目的单个文件中执行它时,它可以正常工作,但当我在我的应用程序中require
该文件时,它会回到-1
我在firefox网站上尝试这个基本示例:
var inventory = [
{name: 'apples', quantity: 2},
{name: 'bananas', quantity: 0},
{name: 'cherries', quantity: 5}
];
function findCherries(fruit) {
return fruit.name === 'cherries';
}
console.log(inventory.find(findCherries));
这可能是什么原因?它过去常常正常工作,-1
无处不在!
答案 0 :(得分:0)
node-opcua
是罪魁祸首。完成require("node-opcua")
后,find函数的本机代码将替换为以下内容:
function (value, equals) {
equals = equals || this.contentEquals || Object.equals;
for (var index = 0; index < this.length; index++) {
if (index in this && equals(value, this[index])) {
return index;
}
}
return -1;
}