Javascript 如何将新属性附加到JS对象
这是我的JS对象:Javascript 如何将新属性附加到JS对象,javascript,Javascript,这是我的JS对象: var request = { "name": "Name", "id": 3, "rules":[ { "name": "Rule name", "tags": [ { "tagId": 1, "variables":[ { "variable": "var1",
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;i if(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);