以下代码采用如下结构的对象数组:{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);}
}
Nums应该在第二次迭代时以[1,1]的方式记录到控制台时调用:[{html:null,number:1},{html:null,number:1}]但是记录了在第一次和第二次迭代中都为[1]。为什么会这样?
答案 0 :(得分: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);
}
答案 1 :(得分:1)
或更短:
var Org=data=>console.log(data.map(e=>e.number));