javascript - 如何将数据推送到嵌套对象

标签 javascript

如何将另一个元素推送到 variables来自以下对象的属性?

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

例如,我需要添加{"variable": "var3", "matchType": "Regex", "value": ".*"}variables属性(property)来自 request对象...我该怎么做?

for(i=0;i<duplicates.length; i++) {
  var request = {
    "name": duplicates[i].scope,
    "id": 3,
    "rules":[
      {
        "name": duplicates[i].scope + " " + "OP SDR Sync",
        "tags": [
          {
            "tagId": 1,
            "variables":[
              {
              }
            ],
            "condition": false,
          },
          {
            "tagId": 1,
            "condition": false,
          }
        ],
        "ruleSetId": 3,
      }
    ]
  }

  request.rules[0].tags[0].variables[0].push({
    "variable":"var3",
    "matchType": "Regex",
    "value": ".*"
  });
}

最佳答案

您必须在对象中正确“导航”:

request.rules[0].tags[0].variables.push({
  "variable":"var3",
  "matchType": "Regex",
  "value": ".*"
})

request['variables'] 将尝试在 request 对象的根中查找 variables 键。这个键根本没有定义,而是嵌套在您的对象/数组结构中。

关于javascript - 如何将数据推送到嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38096937/

相关文章:

javascript - DOM appendChild 不适用于两个变量

javascript - 请解释这个奇怪的 Javascript 行

javascript - 如何在 JavaScript 中旋转 iFrame 中的 URL

javascript - iPad 上的 HTML5 视频元素不会触发 onclick?

javascript - 将 Node.js 服务器 JavaScript 处理移至客户端

javascript - 为什么在没有可选参数的情况下在 `Number.prototype.valueOf` 中使用 `map()` 会出错

javascript - 如何进行递归 Promise 调用以作为 Javascript 中 reduce 的返回值?

Javascript 从字符串开始直到

javascript - Angular2使用指令动态插入html

javascript - 将组件渲染到 ExtJS 网格中