我有以下代码:
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。
这是为什么????
我有以下代码:
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
类型强制 from Array
toNumber
导致你的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;
}