【发布时间】:2020-10-28 21:26:02
【问题描述】:
我有一个如下所示的传入 Json 列表
[{
"id": 190,
"title": "This is a Story title",
"category": [{
"id": 43,
"title": "XXX",
"titleFr": "YYY"
}, {
"id": 27,
"title": "AAA",
"titleFr": "BBB"
}]
}, {
"id": 191,
"title": "This is a Story title 2",
"category": [{
"id": 43,
"title": "XXX",
"titleFr": "YYY"
}]
}]
我希望能够找到所有唯一类别 ID,然后通过按类别分组来创建一个新的数据结构(数组)...即
27 类 - AAA
这是一个故事标题
类别 43 - XXX
这是一个故事标题
这是一个故事标题 2
我有以下代码,到目前为止我可以使用它来遍历并获取类别
$.each(data, function (i, ob) {
$.each(ob, function (ind, obj) {
if (ind === "category") {
Categories.push(this);
}
});
});
console.log(Categories);
我觉得上面的方法效率很低,而且它没有考虑到 Category 是否已经存在。
其次,我想我需要再次返回整个列表,查找 Category.Id,找到后创建一个新 obj,然后添加到新列表?
我觉得这里有很多循环,使用 $.each 会非常低效。
任何帮助将不胜感激。
【问题讨论】:
-
我认为您需要什么并不完全清楚,但这些解决方案可能会有所帮助 stackoverflow.com/questions/6680430/… stackoverflow.com/questions/31709845/… stackoverflow.com/questions/17780508/…
-
也许它会让你和其他人更容易玩这个我从上面开始主要使用你的代码的小提琴。 jsfiddle.net/fqjpwt13
标签: javascript jquery arrays json