[英]Push key value pair to map object javascript
我有以下對象
{
"timetable": {
"MONDAY": {
"start-end0": {},
"start-end1": {},
"start-end2": {},
"start-end3": {},
"start-end4": {}
}
}
我需要將"start-end5"
添加到MONDAY
。 我試圖像周一的timetable.monday.start-end5={}
一樣使用點運算符來表示星期一未定義
monday
不是MONDAY
start-end4
不是有效的標識符,因此obj.timetable.MONDAY.start-end5 = {}
將不會編譯; 您需要使用方括號語法。 從而,
obj.timetable.MONDAY["start-end5"] = {};
變量名應遵循此限制
這樣嘗試
var time = {
"timetable": {
"MONDAY": {
"start-end0": {},
"start-end1": {},
"start-end2": {},
"start-end3": {},
"start-end4": {}
}
}
}
time.timetable.MONDAY["start-end5"] = {}
加法:
如何將start-end5 start-end6 ...動態添加到地圖?
安斯
根據值添加一個循環和concat字符串。
像這樣
var time = {
"timetable": {
"MONDAY": {
"start-end0": {},
"start-end1": {},
"start-end2": {},
"start-end3": {},
"start-end4": {}
}
}
}
for(var i=0;i<5;i++) // set the limit of loop according to your need
time.timetable.MONDAY["start-end"+i] = {}
您需要在此處使用[""]
表示法,因為您的鍵名不是camelCase或其他有效的對象鍵名
a.timetable.MONDAY["start-end5"] = {};
我想添加一種更可行(且易讀)的語法,只是為了好玩:
time["timetable"]["MONDAY"]["start-end5"] = {};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.