Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript JSON中添加字符串作为键_Javascript_Json_String_Loops_Updates - Fatal编程技术网

在javascript JSON中添加字符串作为键

在javascript JSON中添加字符串作为键,javascript,json,string,loops,updates,Javascript,Json,String,Loops,Updates,我正在尝试根据用户输入更新JSON 我有一个现有的JSON数组: colorDataInitial = { "ML1TEST1" : "#120101", "ML1TEST2" : "#120101", "ML1TEST3" : "#120101", "ML1TEST4" : "#120101", "ML1TEST5" : "#120101", } 并希望根据用户输入将其中一种颜色更新为新颜色: var roomID = $('#room').val();

我正在尝试根据用户输入更新JSON

我有一个现有的JSON数组:

 colorDataInitial = {
   "ML1TEST1" : "#120101",
   "ML1TEST2" : "#120101",
   "ML1TEST3" : "#120101",
   "ML1TEST4" : "#120101",
   "ML1TEST5" : "#120101",
  }
并希望根据用户输入将其中一种颜色更新为新颜色:

var roomID = $('#room').val();
但是,当我尝试循环使用此项时,点符号仅添加为一个新键:

  var arrayLength = roomArray.length;
  for (var i = 0; i < arrayLength; i++) {

    if (roomArray[i] == roomID) {

      var colorDataTest.roomID = "#FF1C1C"  

    } else {

      var colorDataTest.roomID = ("ML1TEST" + i);

    }
  }
如何让它接受字符串作为用户输入


感谢您的帮助

您可能需要使用:

colorDataTest[roomID]
而不是:

colorDataTest.roomID
.roomID
方法在
colorDataTest
上查找名为
roomID
的属性
方括号从
colorDataTest
中的
roomID
值中查找名称为的属性

例如:

var myVar = 'aString';

var myObj = {
    aString: 123,
    myVar:   456
}

console.log(myObj[myVar]); // 123
console.log(myObj.myVar);  // 456
var myVar = 'aString';

var myObj = {
    aString: 123,
    myVar:   456
}

console.log(myObj[myVar]); // 123
console.log(myObj.myVar);  // 456