簡體   English   中英

如何創建循環數組

[英]How to create array for loop

我想創建一個像這樣的數組:

[{'b':0,'c':1,'d':2},{'b':1,'c':2,'d':3},{'b':2,'c':3,'d':4}]

如何使用Javascript執行此操作?

我已經試過了:

for(i = 0; i < 3; i++){
    var b = i;
    var c = i+1;
    var d = i+2;
};
dataResult={"b":b,"c":c,"d":d};

alert(dataResult)  //not working result [{'b':0,'c':1,'d':2},{'b':1,'c':2,'d':3},{'b':2,'c':3,'d':4}] 

您只是覆蓋'b','c','d'的值,最后將該值分配給'dataResult',所以您沒有得到預期的結果。

嘗試這個。

 dataResult = []; for(i = 0; i < 3; i++){ dataResult.push({ 'b': i, 'c': i+1, 'd': i+2 }); }; console.log(dataResult); 

您必須在循環內創建對象,然后將其推送到數組:

 const arr = []; for (let i = 0; i < 3; i++) { var b = i; var c = i + 1; var d = i + 2; arr.push({ b, c, d }); } console.log(arr); 

但是使用Array.from這里會更優雅:

 const arr = Array.from({ length: 3 }, (_, i) => { const b = i; const c = i + 1; const d = i + 2; return { b, c, d }; }); console.log(arr); 

您正在循環外創建對象。 您需要在循環內創建對象。

嘗試跟隨

 var arr = []; for(let i = 0; i < 3; i++){ var b = i; var c = b+1; // as b = i, you can change c = b + 1 var d = c+1; // as c = i + 1, you can change d = c + 1 arr.push({b,c,d}); }; console.log(arr); 

在循環內創建對象並將其推送到數組

 var arr = []; for (var i = 0; i < 3; i++) { let obj = { b: i, c: i + 1, d: i + 2, } arr.push(obj) }; console.log(arr) 

 var myArr = []; for(var i = 0; i < 3; i++){ var data = i; myArr.push({ b: data, c: data + 1, d: data + 2 }) } console.log(myArr) 

您要在循環后設置b,c,d的值,以便將b,c,d的最新值放入dataResult中。 相反,您應該使用一個空數組初始化dataResult,並在循環的每一步之后將值推入該數組

var a,b,c;
var dataResult = [];
for(i = 0; i < 3; i++){
     b = i;
     c = i+1;
    d = i+2;
dataResult.push({"b":b, "c":c, "d":d});
};

alert(dataResult);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM