[英]How to use variable in JSON object value while creating an object dynamically?
我正在嘗試使用 for 循環動態創建一個 object 數組。 這個 object 的鍵值對的值來自不同的 arrays。 那么如何使用for循環動態創建object數組呢? 我嘗試了以下代碼塊,但它不起作用。
var anObj = [];
var charectors = ['Iron Man', 'Hulk', 'Thor']
var actors = ['Robert Downey, Jr', 'Mark Ruffalo', 'Chris Hemsworth']
for(let i=0; i<charectors.length; i++){
anObj[i] = {
charector : charectors[i],
actor : actors[i]
}
}
上面的代碼拋出一個錯誤,因為我期望 object 的數組為
[
{
"charector":"Iron Man",
"actor":"Robert Downey, Jr"
},
{
"charector":"Hulk",
"actor":"Mark Ruffalo"
},
{
"charector":"Thor",
"actor":"Chris Hemsworth"
}
]
您也可以使用map
var anObj = []; var charectors = ["Iron Man", "Hulk", "Thor"]; var actors = ["Robert Downey, Jr", "Mark Ruffalo", "Chris Hemsworth"]; const result = actors.map((actor, i) => ({ charector: charectors[i], actor: actors[i] })); console.log(result)
帶有for...of循環
var anObj = []; var charectors = ["Iron Man", "Hulk", "Thor"]; var actors = ["Robert Downey, Jr", "Mark Ruffalo", "Chris Hemsworth"]; const result = []; for (let [i, actor] of actors.entries()) { result.push({ charector: charectors[i], actor: actors[i], }); } console.log(result);
在你的 for 循環中使用:
而不是=
。 基本 object 屬性分配
var anObj = [];
var charectors = ['Iron Man', 'Hulk', 'Thor']
var actors = ['Robert Downey, Jr', 'Mark Ruffalo', 'Chris Hemsworth']
for(let i=0; i<charectors.length; i++){
anObj[i] = {
charector : charectors[i],
actor : actors[i]
}
}
使用將值推送到數組中
anObj.push({
charector: charectors[i],
actor: actor[i]
})
你有兩個錯誤:
大括號內的賦值分隔符是冒號,而不是等號;
第二個源數組的名稱是演員,而不是演員。
var anObj = [];
var charectors = ['Iron Man', 'Hulk', 'Thor']
var actors = ['Robert Downey, Jr', 'Mark Ruffalo', 'Chris Hemsworth']
for(let i=0; i<charectors.length; i++){
anObj[i] = {
charector : charectors[i],
actor : actors[i]
}
}
console.log(anObj);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.