javascript - 在 JSobject 中追加元素

标签 javascript json

我正在尝试创建一个具有此结构的 JS 对象

{ node1: 
  [ 'test1.1',
   'test1.2'],
  node2:
   ['test2.1',
   'test2.2']
}

这是我的代码

    for (var k = 0; k < keys.length; i++){
            key = keys[k];
            var result = {};
            var r = [];
            for (var i = 0; i < elements.length; i++){
                r.push(elements[i]);
            }
            result[key] = r;
}

结果看起来与我的预期有点不同,并且不是有效的 JSON:

{ node1: 
   [ 'test1.1',
     'test1.2'] }
{ node2: 
   [ 'test2.1',
     'test2.2' ] }

我不确定代码有什么问题。

最佳答案

for 循环外部声明 var result = {}; ,它将在当前循环内创建一个新对象时工作。

var result = {};
for (var k = 0; k < keys.length; k++) {
  key = keys[k];
  var r = [];
  for (var i = 0; i < elements.length; i++) {
    r.push(elements[i]);
  }
  result[key] = r;
}

第一个循环中还有 i++,因此将其更改为 k++,否则将会出现无限循环。

关于javascript - 在 JSobject 中追加元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52040283/

相关文章:

javascript - Typescript中如何使用es6语法导入功能模块

json - 在 Groovy 中获取具有随机名称的单个节点的 JSON 子节点

php - 在 slim 2 中同时支持 POST 数据和 JSON 格式的请求

javascript - PHP - JSON 数组到 javascript 数据表库

json - 修改现有的 yaml 文件并添加新的数据和注释

javascript - 添加 .orderByChild.StartAt 过滤器时为 "ref.child is not a function"

javascript - JS 断言测试 - Ruby 规范

javascript - 发生未捕获的异常时重新启动 Node.js 应用程序

javascript - 在鼠标悬停时为 td 着色

json - 如何解析嵌套 JSON 对象中的内部字段