将对象数组转换为嵌套对象

时间:2015-11-12 13:52:09

标签: javascript arrays javascript-objects

我已经搜索了很多堆栈溢出但无法获取所需的信息,因此问题。

由于jsonapi希望所有信息都以对象的形式出现。

我想转换:

[{"id":2,"quantity":2},{"id":1,"quantity":2}]

{"0" : {"id":2,"quantity":2}, "1" : {"id":1,"quantity":2}}

解决方案: 如果有人需要帮助,并且不想仅仅因为混淆问题而投票。

function toObject(arr) {
      var obj = {};
      for (var i = 0; i < arr.length; ++i)
        if (arr[i] !== undefined) obj[i] = arr[i];
      return obj;
    }

1 个答案:

答案 0 :(得分:3)

您想要的对象无效。所有JSON对象都按键,值对工作,因此这不起作用:

{
    {"id":2,"quantity":2},
    {"id":1,"quantity":2}
}

因为根对象中没有任何键。你可以这样做:

{
    "key1": {"id":2,"quantity":2},
    "key2": {"id":1,"quantity":2}
}

你们之间的区别是否清楚?