javascript - 在 JavaScript 对象的特定位置访问和添加节点

标签 javascript arrays object

我有一个多级 JS 对象。我需要在指定位置的特定节点中插入其他节点(数组或对象)。

尝试了以下方法

obj[0] = {'key':'value'};
obj["position"] = {'key':'value'};

对我没有任何作用。

这是我的对象:

var obj = {

      'id' : '1',
      'text' : 'post',
      'fill' : 'transparent',
      'img': 'assets/images/post-ico.png',
      'image' : 'test',
      'type' : 'component',
      'url' : 'test.com',
      'key': 'F',
      'fields' : 
            [{'name' : 'remote_address',
                'value' : '127.0.0.1',
                'group': 'F',
                'text' : 'Request',
                'fields' : 
                      [{'name' : 'remote_address',
                          'value' : '127.0.0.1',
                          'text' : 'Body',},              
                        {'name' : 'remote_address',
                          'value' : '127.0.0.1',
                          'text' : 'Headers'
                        }
                      ]
              },            
              {'name' : 'remote_address',
              'group': 'F',
              'value' : '127.0.0.1',
              'text' : 'Response',
              'fields' : 
              [{'name' : 'remote_address',
                'value' : '127.0.0.1',
                'text' : 'Headers',
                },
                {'name' : 'remote_address',
                  'value' : '127.0.0.1',
                  'text' : 'Body',
                  'fields':[]
                }
              ]
            }
          ],
        };

这就是我要添加到 fields:[] 属性中的对象数据

{'name' : 'remote_address',
 'value' : '127.0.0.1',
 'text' : 'Headers',
}

我能够将数据作为节点添加到对象,但它不在我想要的位置。

帮我在指定位置插入日期

我希望数据作为最后一个 fields:[] 属性的值,并且我希望它在那些方括号内

最佳答案

您需要导航对象

var obj = { 'id': '1', 'text': 'post', 'fill': 'transparent', 'img': 'assets/images/post-ico.png', 'image': 'test', 'type': 'component', 'url': 'test.com', 'key': 'F', 'fields': [{ 'name': 'remote_address', 'value': '127.0.0.1', 'group': 'F', 'text': 'Request', 'fields': [{ 'name': 'remote_address', 'value': '127.0.0.1', 'text': 'Body', }, { 'name': 'remote_address', 'value': '127.0.0.1', 'text': 'Headers' } ] }, { 'name': 'remote_address', 'group': 'F', 'value': '127.0.0.1', 'text': 'Response', 'fields': [{ 'name': 'remote_address', 'value': '127.0.0.1', 'text': 'Headers', }, { 'name': 'remote_address', 'value': '127.0.0.1', 'text': 'Body', 'fields': [] } ] } ],};

obj.fields[1].fields[1].fields.push({'name' : 'remote_address',
 'value' : '127.0.0.1',
 'text' : 'Headers',
})
console.log(obj.fields[1].fields[1].fields)

关于javascript - 在 JavaScript 对象的特定位置访问和添加节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58623263/

相关文章:

PHP 数组通过引用传递值

javascript - 如何最好地将复杂的 JavaScript 对象传递给 PHP?

c# - 使用数组的 SetValue 方法与 [] 索引器

javascript - 不存在错误时不提交 jQuery ajax 表单

javascript - Node HTTP 请求永远挂起

javascript - 如何在 JavaScript 中使用键搜索 CSV 文件

创建动态结构数组

java - Java 中的对象导航

java - 检查对象是否属于类型

javascript - Canvas .toDataURL() 返回部分损坏的图像