Number(array.pop)返回方程式中的Nan

时间:2019-02-12 11:45:24

标签: javascript nan pop

计算时,使用与array.pop()一起使用的数字变量,返回NaN。

如果有人可以提供解释,我将不胜感激。

从下面的示例中我们可以看到,两个变量的类型均为$test[] = $this->passing($value['Customer'], $value['Project']); 。但是,当我们尝试添加它们时,会返回number

NaN

5 个答案:

答案 0 :(得分:1)

array.pop是一个函数,array.pop()是您需要给您的电话号码。直到您调用该函数,它才有用。

let digitA = Number(array.pop)基本上是将函数包装在Number中,这会给您NaN(不是数字)。将其加到任何其他数字上仍会给您NaN

答案 1 :(得分:0)

它是array.pop(),而不是array.pop。您将typeof称为Number,因为您将其包装在Number()

let array = ['5', '20', '31', '4', '20', '2'];
let digitA = Number(array.pop());
let digitB = 2;

console.log(typeof digitA); // number
console.log(typeof digitB); // number

console.log(digitA+digitB); 

答案 2 :(得分:0)

pop是一种方法

let digitA = Number(array.pop);更改为let digitA = Number(array.pop());

答案 3 :(得分:0)

您的问题是Number(array.pop)

在这里,您尝试将pop函数本身转换为数字。相反,您想使用pop函数,该函数将为您提供数组中的最后一个元素('2'),然后将该元素转换为数字:

Number(array.pop())

当前,digitA实际上是NaN(注意:typeof NaN === "number",因此引起混乱)

因此,NaN + 2也将产生NaN,为您提供结果。

请参见下面的工作示例:

let array = ['5', '20', '31', '4', '20', '2'];
let digitA = Number(array.pop());
let digitB = +2;

console.log(typeof digitA); // number
console.log(typeof digitB); // number

console.log(digitA+digitB); // Nan

答案 4 :(得分:0)

write.csv是一个函数,当您使用array.pop将其转换为number时,它返回一个Number(),这就是为什么要获取NaN的原因在您的补充中。

如果您想要一个数字,请调用NaN函数:

pop()