仅在for循环的第一次迭代时更新数组

Eth*_*OPE 2 javascript arrays for-loop

以下代码采用如下结构的对象数组:{html:无论数字:数字值 }.

function Org(data){
//array of objects
var Data=data;
for(var i=0; i<Data.length; i++){
  var nums=[];
  nums.push(Data[i].number);
console.log(nums);}
}
Run Code Online (Sandbox Code Playgroud)

当调用时,Nums应该在第二次迭代时以[1,1]的形式记录到控制台:[{html:null,number:1},{html:null,number:1}]但是记录为[1] ]在第一次和第二次迭代中.为什么会这样?

Nin*_*olz 6

您需要移动循环num外部的初始化for.在里面它为每次迭代创建一个新的空数组.

顺便说一句,不需要使用另一个变量data.

function Org(data){
    var nums = [];
    for (var i = 0; i < data.length; i++){
        nums.push(data[i].number);
    }
    console.log(nums);
}
Run Code Online (Sandbox Code Playgroud)