[英]getting wrong output in array, javascript
您正在通过索引定义数组元素,该索引导致数组具有一些undefined
值(已定义的较大索引内的未定义索引)。 而是使用Array#push
以正确的方式添加数组元素。
arr.push(total[i]);
您将索引“ i”处的总值添加到arr索引“ i”中。 但是,arr的索引与总数不同。
所以你需要这样做:
var total = [300, 350, 450, 650]; var arr = []; for (var i = 0; i < total.length; i++) { if (parseInt(total[i]) >= 400) { arr.push(total[i]); } } alert(arr.length); alert(arr);
您的代码有误,我正在对其进行纠正:
var total = [300, 350, 450, 650]; var arr = []; for (var i = 0; i < total.length; i++) { if (parseInt(total[i]) >= 400) { arr.push(total[i]); } } alert(arr.length); alert(arr);
你应该有一个柜台来完成你的任务
var total = [300, 350, 450, 650];
var arr = [];
var counter=0;
for (var i = 0; i < total.length; i++) {
if (parseInt(total[i]) >= 400) {
arr.push(total[i]); //to save into an array
}
}
console.log(arr.length);
使用ECMA6,阅读起来容易得多
var total = [300, 350, 450, 650]; var arr = total.filter(value => value >= 400); console.log(arr.length); console.log(arr);
否则
var total = [300, 350, 450, 650]; var arr = []; for (var i = 0; i < total.length; i++) { if (parseInt(total[i]) >= 400) { arr.push(total[i]); } } alert(arr.length); alert(arr);
有了这部分代码,arr [i] = total [i]; 您每次将值添加到与原始位置相同的位置。 小于400的其他值将不添加,但将被映射为空值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.