Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.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 如何将新属性附加到JS对象_Javascript - Fatal编程技术网

Javascript 如何将新属性附加到JS对象

Javascript 如何将新属性附加到JS对象,javascript,Javascript,这是我的JS对象: var request = { "name": "Name", "id": 3, "rules":[ { "name": "Rule name", "tags": [ { "tagId": 1, "variables":[ { "variable": "var1",

这是我的JS对象:

  var request = {
    "name": "Name",
    "id": 3,
    "rules":[
      {
        "name": "Rule name",
        "tags": [
          {
            "tagId": 1,
            "variables":[
              {
                "variable": "var1",
                "matchType": "Regex"
              }
            ],
            "condition": false,
          }
        ],
        "ruleSetId": 3,
      }
    ]
  }
如何向
变量
对象添加新属性
“值”:“某些值”
?例如,添加此属性后,对象应如下所示:

  var request = {
    "name": "Name",
    "id": 3,
    "rules":[
      {
        "name": "Rule name",
        "tags": [
          {
            "tagId": 1,
            "variables":[
              {
                "variable": "var1",
                "matchType": "Regex",
                "value": "some value"   <----------
              }
            ],
            "condition": false,
          }
        ],
        "ruleSetId": 3,
      }
    ]
  }
像这样

request.rules[0].tags[0].variables[0].value = "some value";
你快到了

request.rules[0].tags[1].variables['value'] = 'some value';
或者,如果要在所有变量中追加此新属性:

var target = 'value';

for (var i = 0; i < request.rules[0].tags[0].variables.length; i++) { 
  if (request.rules[0].tags[0].variables[i][target]) { 
    break;
  }
}

request.rules[0].tags[0].variables[i][target] = "some value";
var目标='value';

对于(var i=0;iif(request.rules[0].tags[0].variables[i][target]){ 打破 } }
request.rules[0]。标记[0]。变量[i][target]=“一些值”;
0
用于选择数组的索引

希望这将是有用的

var _pushKey = request.rules[0].tags[0].variables[0].value="some value" 

你可以这样写:

  var request = {
    "name": "Name",
    "id": 3,
    "rules":[
      {
        "name": "Rule name",
        "tags": [
          {
            "tagId": 1,
            "variables":[
              {
                "variable": "var1",
                "matchType": "Regex",
                "value": "some value"   <----------
              }
            ],
            "condition": false,
          }
        ],
        "ruleSetId": 3,
      }
    ]
  }

request.rules[0]。标记[0]。变量[0][“value”]=“some value”

如果您想了解它为什么会这样工作,那么您必须了解在json中
{}
[]
的含义。第一个用于对象,第二个用于数组。因此,您可以看到您的
请求
对象有一个名为
规则
的属性,它是一个对象数组<代码>标记和
变量
属性与
规则
相同。最后,您需要为
variables
数组中的第一个obj分配新的键值,这就是使用变量[0]的原因。

您应该这样做

request.rules[0].tags[0].variables[0]['value'] = 'some value';

要向其添加属性的对象位于数组中,它是数组的第一个元素。您可以通过
请求。规则[0]。标记[0]。变量[0]

实现此对象示例:

var jsonObj = {
members: 
       {
        host: "hostName"
    }
}
var i;
for(i=4; i<=8; i++){
    var newUser = "user" + i;
    var newValue = "value" + i;
    jsonObj.members[newUser] = newValue ;
}
var str =JSON.stringify(jsonObj);
console.log(str);
console.log(jsonObj);
var jsonObj={
成员:
{
主机:“主机名”
}
}
var i;

对于(i=4;irequest.rules[0]。标记[0]。变量[0]。value=“some value”您为什么不学习一些基础知识,而不是问您可能遇到的每个小问题?(,)人们可以通过回答来停止这些问题吗?这会损害网站的质量。@str你是对的,但我有一个复杂的代码,有时我很难找到解决方案,此外,我对JSON对象还不熟悉,但现在我认为我理解了基本的“JSON对象”JSON是一种用于序列化javascript对象的文本格式。这里的JSON甚至都不是JSON,它是简单的旧javascript。您肯定需要学习一些基础知识。似乎六个相同的答案还不够。在我发布此答案之前,我不知道。“我不知道”与您的答案相同的第一个答案在您发布前15分钟发布。:)好的,我的错。我被其他事情打断了。那个例子与问题没有多大关系。是的,但我认为他通过这个例子和
变量[0]得到了更好的想法。value
。这是如何解决问题的?更具体一点
按钮似乎没有任何用途。
标记[0]
,当然?和
变量[0]。值
。附加到
变量
数组,或添加到
变量
数组中的每个对象?
request.rules[0].tags[0].variables[0]['value'] = 'some value';
var jsonObj = {
members: 
       {
        host: "hostName"
    }
}
var i;
for(i=4; i<=8; i++){
    var newUser = "user" + i;
    var newValue = "value" + i;
    jsonObj.members[newUser] = newValue ;
}
var str =JSON.stringify(jsonObj);
console.log(str);
console.log(jsonObj);