根据条件 JavaScript 在父级下对类似的数组项进行分组
grouping of similar array items under a parent based on a condition javascript
var textTag = [{text:"3", items:[{name:item1.jpeg}, {name:item2.jpeg}, {name:item3.jpeg}]},
{text:"2", items:[{name:item1.gif}, {name:item2.gif}, {name:item3.png}]},
]
我正在尝试获取如下所示的结果数组:
text:3
|_ jpeg
|_item1
|_item2
|_item3
text:2
|_ gif
|_item1
|_item2
|_ png
|_item3
但是我已经编写了代码,为我提供了以下输出。
text:3
|_ jpeg
|_item1
|_ jpeg
|_item2
|_ jpeg
|_item3
text:2
|_ gif
|_item1
|_ gif
|_item2
|_ png
|_item3
请帮助我获得预期的结果
你需要一些分组。
var textTag = [{ text: "3", items: [{ name: 'item1.jpeg' }, { name: 'item2.jpeg' }, { name: 'item3.jpeg' }] }, { text: "2", items: [{ name: 'item1.gif' }, { name: 'item2.gif' }, { name: 'item3.png' }] }],
grouped = textTag.map(function (a) {
var o = {};
a.items.forEach(function (b) {
var n = b.name.split('.');
o[n[1]] = o[n[1]] || [];
o[n[1]].push(n[0]);
});
return o;
});
document.write('<pre>' + JSON.stringify(grouped, 0, 4) + '</pre>');
相关文章:
- 如何遍历包含对象的数组-javascript
- 保存数组javascript
- 查找数组javascript中包含的元素类型
- 算法:从数组(javascript/angular)中按当前日期获取上一个和下一个事件
- 从多维数组javascript中提取特定值
- 如何在数组javascript中选择伪随机值
- 拆分字符串数组(JavaScript)后未定义
- 从数组JavaScript中删除并返回最后n个项的最快方法
- 使用条件for循环更新数组-Javascript
- 从数组javascript创建新对象
- 用数组(javascript)中的值替换regex捕获
- 从数组[Javascript]的总长度中减去一个干净的数字
- 将一个字符串数组解析为一个新的数组javascript
- 如何将对象转换为对象数组javascript
- 赢得't循环数组javascript
- 从不同的数组 JavaScript 中获取值
- 多维数组 JAVASCRIPT 出了点问题
- 可以't分配给一个对象数组javascript
- 比较数组JavaScript中的对象
- 如何完成缺少(连续)元素的数组|Javascript