array.some 和其他不在 nodejs 中工作的人
array.some and others not working in nodejs
在我的 linux OS 上,我试图编写 javascript 代码,但某些数组函数会引发
console.log([false].every())
^
TypeError: undefined is not a function
我在处理 Vuejs (cli) 项目时首先注意到了这一点。但后来我测试了一个简单的 .js 脚本并 运行 它带有:
node test.js
代码:
console.log('testing')
console.log([])
console.log([false].every)
console.log([false].every())
一切正常,直到我调用第 4 行中的函数。当记录第 3 行中的函数时,它记录
[Function: every]
所以这个问题似乎与节点有关,因为某些功能像地图一样工作
如果能帮我修复我的 nodejs,我将不胜感激。
.some() 也不行不知道还有没有其他的
已解决:愚蠢的我非常确定他知道如何使用我的错误功能,非常感谢
every
函数有一个必需的参数。
参数应该是一个函数,它将 运行 数组中的每个元素。
有关它的更多信息,请阅读 here
您没有传递在数组遍历期间执行的应该 return 布尔结果的函数。
来自手册(仔细阅读并查看 粗体字):
The every() method tests whether all elements in the array pass the test implemented by the provided function.
这是正确用法的示例:
let isValidArrayOfIntegers;
isValidArrayOfIntegers =
[1, 2, 3, 5.3, 0.1, false, true, NaN, undefined]
.every(function(item) {
return Number.isInteger(item);
});
console.log(isValidArrayOfIntegers);
isValidArrayOfIntegers =
[1, 2, 3]
.every(function(item) {
return Number.isInteger(item);
});
console.log(isValidArrayOfIntegers);
P.S。 every
是 shorthand 到 find
的方法。区别在于 find
找到第一次出现,停止迭代和 returns 有效元素。但是 every
发现第一个无效事件并停止使用布尔结果进行迭代。
let isValidArrayOfIntegers;
isValidArrayOfIntegers =
![1, 2, 3, 0.1, 5.3, false, true]
.find(function(item) {
let isInteger = Number.isInteger(item);
if (!isInteger) console.log(item, 'is not integer, breaking loop');
return !isInteger;
});
console.log(isValidArrayOfIntegers);
isValidArrayOfIntegers =
![1, 2, 3]
.find(function(item) {
return !Number.isInteger(item);
});
console.log(isValidArrayOfIntegers);
在我的 linux OS 上,我试图编写 javascript 代码,但某些数组函数会引发
console.log([false].every())
^
TypeError: undefined is not a function
我在处理 Vuejs (cli) 项目时首先注意到了这一点。但后来我测试了一个简单的 .js 脚本并 运行 它带有:
node test.js
代码:
console.log('testing')
console.log([])
console.log([false].every)
console.log([false].every())
一切正常,直到我调用第 4 行中的函数。当记录第 3 行中的函数时,它记录
[Function: every]
所以这个问题似乎与节点有关,因为某些功能像地图一样工作 如果能帮我修复我的 nodejs,我将不胜感激。
.some() 也不行不知道还有没有其他的
已解决:愚蠢的我非常确定他知道如何使用我的错误功能,非常感谢
every
函数有一个必需的参数。
参数应该是一个函数,它将 运行 数组中的每个元素。
有关它的更多信息,请阅读 here
您没有传递在数组遍历期间执行的应该 return 布尔结果的函数。
来自手册(仔细阅读并查看 粗体字):
The every() method tests whether all elements in the array pass the test implemented by the provided function.
这是正确用法的示例:
let isValidArrayOfIntegers;
isValidArrayOfIntegers =
[1, 2, 3, 5.3, 0.1, false, true, NaN, undefined]
.every(function(item) {
return Number.isInteger(item);
});
console.log(isValidArrayOfIntegers);
isValidArrayOfIntegers =
[1, 2, 3]
.every(function(item) {
return Number.isInteger(item);
});
console.log(isValidArrayOfIntegers);
P.S。 every
是 shorthand 到 find
的方法。区别在于 find
找到第一次出现,停止迭代和 returns 有效元素。但是 every
发现第一个无效事件并停止使用布尔结果进行迭代。
let isValidArrayOfIntegers;
isValidArrayOfIntegers =
![1, 2, 3, 0.1, 5.3, false, true]
.find(function(item) {
let isInteger = Number.isInteger(item);
if (!isInteger) console.log(item, 'is not integer, breaking loop');
return !isInteger;
});
console.log(isValidArrayOfIntegers);
isValidArrayOfIntegers =
![1, 2, 3]
.find(function(item) {
return !Number.isInteger(item);
});
console.log(isValidArrayOfIntegers);