[英]why does assigning a number to an array make the array object a nan?
我有以下代码:
function bytesToMb(arr)
{
for(var i=0;i<arr.length;arr++)
{
var mbs= arr[i]/(1000*1000);
arr[i]=mbs;
}
return arr;
}
行arr[i]=mbs
执行后, arr
的值(数组对象本身)变为NAN。
这是为什么????
您要递增arr,arr + 1 = NaN,因为数组是NaN; 你应该在for循环中执行i ++ ...
您正在使用arr++
而不是i++
作为for
循环中的第三子句。
从Array
到Number
的类型强制导致您的NaN
。
将arr++
更改为i++
function bytesToMb(arr) {
for (var i = 0; i < arr.length; i++) {
var mbs = arr[i] / (1024 * 1024); // you should use 1024*1024 here to make it more precise if you need to.
arr[i] = mbs;
}
return arr;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.