Reputation: 4620
How can I push another element to the variables
property from the below object?
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,
}
]
}
For exaple, I need to add {"variable": "var3", "matchType": "Regex", "value": ".*"}
to the variables
property from request
Object...how can I do this?
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": ".*"
});
}
Upvotes: 0
Views: 8412
Reputation: 792
dot operator(.) can be used to get the value of a particular object property.
square brackets ([]) can be used to access an element of an array.
Now the answer to your question:
request.rules[0].tags[0].variables.push({
"variable": "var3",
"matchType": "Regex",
"value": ".*"
});
here, [0]
specifies the first element of your array.
Upvotes: 0
Reputation: 391
Try:
request.rules[0].tags[0].variables.push({
"variable":"var3",
"matchType": "Regex",
"value": ".*"
})
variables
is into tags
, and tags
is into rules
.
I edited the answer
Upvotes: 0
Reputation: 1
request.rules[0].tags.variables[0].push({
"variable":"var3",
"matchType": "Regex",
"value": ".*"
});
You have to navigate in your array. Replace the 0 inside the [] to select the item from the array. (0 is first entry, 1 is second entry etc).
Upvotes: 0
Reputation: 44979
You have to "navigate" properly in your object:
request.rules[0].tags[0].variables.push({
"variable":"var3",
"matchType": "Regex",
"value": ".*"
})
request['variables']
will just try to find the variables
key in root of the request
object. This key is simply not defined but is nested in your object/array structure.
Upvotes: 3
Reputation: 1608
Try like this:
object = {"variable": "var3", "matchType": "Regex", "value": ".*"};
request.rules[0].tags[0].variables.push(object);
Upvotes: 1