![](/img/trans.png)
[英]How to create an empty array only in first iteration of loop and then keep using it?
[英]Array only being updated on first iteration of a 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);}
}
當調用時,Nums應該在第二次迭代時以[1,1]的形式記錄到控制台:[{html:null,number:1},{html:null,number:1}]但是記錄為[1] ]在第一次和第二次迭代中。 為什么會這樣?
您需要在for
循環之外移動num
的初始化。 在里面它為每次迭代創建一個新的空數組。
順便說一句,不需要為data
使用另一個變量。
function Org(data){
var nums = [];
for (var i = 0; i < data.length; i++){
nums.push(data[i].number);
}
console.log(nums);
}
或更短:
var Org=data=>console.log(data.map(e=>e.number));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.