只是出于好奇.
typeof NaN数字似乎不合逻辑.顺便说一句,就像NaN === NaN或NaN == NaN返回虚假一样.这是javascript的特点之一,还是有理由这样做?
编辑:谢谢你的回答.尽管让人们感到高兴并不容易.阅读答案和维基我理解得更多,但仍然是一句话
与NaN进行比较时,即使与自身进行比较,也会返回无序结果.比较谓词是信令或非信令,信令版本表示这种比较的无效例外.等式和不等式谓词是非信令的,因此x = x返回false可用于测试x是否是安静的NaN.
只是让我头晕目眩.如果有人能用人类(而不是数学家)的可读语言翻译,我会感激不尽.
如果我有:
function foo(number, ...args) {
//foo to add args to sum
}
Run Code Online (Sandbox Code Playgroud)
我希望调用者可以调用foo,如:
foo(10, 1, 2, 3); // 16
Run Code Online (Sandbox Code Playgroud)
要么:
foo(10, [1, 2, 3]); //16
Run Code Online (Sandbox Code Playgroud)
问题是如何实现这一点.我可以这样做:
function foo(number, ...args) {
let toAddArr = Array.isArray(args[0]) ? args[0] : args;
for (let toAdd of toAddArr) {
number = number + toAdd;
}
return number;
}
Run Code Online (Sandbox Code Playgroud) 我正在使用这样的嵌套数组:
const data = [
[0],
[2],
[[1], 3]
1
]
Run Code Online (Sandbox Code Playgroud)
是否可以将所有值统计在一起.在此示例中,结果应为7(0 + 2 + 1 + 3 + 1).是否也可以计算使用了多少个数组?这将是5个阵列