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

时间:2016-06-29 10:28:26

标签: javascript

如何从下面的对象中将另一个元素推送到 def fitness(chromosome): final = run(chromosome) return -distance(final, goal) - length_of_path(chromosome) / 100.0 属性?

variables

对于exaple,我需要将 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属性中...我该怎么做?

request

5 个答案:

答案 0 :(得分:3)

你必须"导航"正确地在你的对象中:

localStorage

request.rules[0].tags[0].variables.push({ "variable":"var3", "matchType": "Regex", "value": ".*" }) 只会尝试在request['variables']对象的根目录中找到variables密钥。此键未定义,但嵌套在对象/数组结构中。

答案 1 :(得分:1)

试试这样:

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

答案 2 :(得分:0)

尝试:

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

variables进入tagstags进入rules

我编辑了答案

答案 3 :(得分:0)

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

您必须在阵列中导航。 替换[]内的0以从数组中选择项目。 (0是第一个条目,1是第二个条目等)。

答案 4 :(得分:0)

点运算符(。)可用于获取特定对象属性的值。

方括号([])可用于访问数组的元素。

现在回答你的问题:

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

这里,[0]指定数组的第一个元素。