![](/img/trans.png)
[英]Create JSON dynamically with dynamic keys and values in Express Js
[英]Create dynamically JSON keys in a JS loop
我有這個帶有JSON變量的Javascript代碼,效果很好。
var valuesJSON = {
projects: {
0: {value: 0, price: 0},
1: {value: 0, price: 0},
2: {value: 0, price: 0},
3: {value: 0, price: 0},
4: {value: 0, price: 0},
5: {value: 0, price: 0},
6: {value: 0, price: 0},
7: {value: 0, price: 0},
}
}
我想讓它更具可伸縮性,以便它可以讀取常量中的條目數。 我嘗試了以下內容,但不允許變量中的for循環。 有任何想法嗎?
const NUM_PROJECTS = 8
var valuesJSON = {
projects: {
for (var i=0; i < NUM_PROJECTS; i++) {
i: {value: 0, price: 0},
}
}
}
您需要使用for
循環向projects
添加屬性。 需要使用括號表示法 ,因為variable
被用作鍵。
//Create object
var valuesJSON = {
projects : {}
}
//Iterate and add properties
for (var i = 0; i < NUM_PROJECTS; i++) {
valuesJSON.projects[i] = {
value: 0,
price: 0
}
}
您可以使用NUM_PROJECTS
進行迭代,並生成具有所需結果的新屬性。
const NUM_PROJECTS = 8 var valuesJSON = { projects: {}}; for (var i = 0; i < NUM_PROJECTS; i++) { valuesJSON.projects[i] = { value: 0, price: 0 }; } console.log(valuesJSON);
你首先制作一個javascript對象。
var object = {};
然后,您可以通過數組訪問編輯屬性(object.something)。
object.something == object['something']
所以要在對象中設置一個值,你可以這樣做
object['something'] = array_counter
不知道你想要什么,所以我將arrayinfying添加到一個對象並將其作為對象放入。
var json = {} var projects = {}; var projectsArr = []; for(c=0;c<100;c++) { var project_entry = { name: 'project'+c, a:c+1, b:c*2 }; projects[project_entry.name] = project_entry; projectsArr.push(project_entry); } json['projects'] = projects; json['projects_as_array'] = projectsArr; console.log(JSON.stringify(json,null,2));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.