【发布时间】:2017-06-13 06:50:03
【问题描述】:
我有以下 JSON 对象:
var data =JSON.parse('[{"Title":"Test 1","State":"Colorado"},
{"Title":"Test 1","State":"Arizona"},
{"Title":"Test 2","State":"Utah"},
{"Title":"Test 2","State":"Arizona"},
{"Title":"Test 3","State":"Arizona"}]');
如何解析这个 data 对象,以便得到以下输出:
resultData = [{"Title":"Test 1", State: ["Colorado", "Arizona"]},
{"Title":"Test 2", State: ["Utah", "Arizona"]},
{"Title":"Test 3", State: ["Arizona"]}]
到目前为止,我尝试了以下操作:
var resultData = {},
groupBy = "Title";
for (var i = 0; i < data.length; i++) {
if (!resultData[data[i][groupBy]])
resultData[data[groupBy]] = [];
resultData[data[i][groupBy]].push(data[i]);
};
但它没有帮助并返回一些奇怪的对象,如下所示:
resultData = [{Test 1: [{State: "Colorado"}, {State: "Arizona"}]},
{Test 2: [{State: "Utah"}, {State: "Arizona"}]},
{Test 3: [{State: "Arizona"}]}]
谁能帮我实现同样的目标。
【问题讨论】:
-
我认为这应该是状态数组
State: ["Colorado", "Arizona"] -
感谢您的注释!问题已更新!
标签: javascript json parsing object