我有这种数组date
and id
only.
temp:[
0:{
id:"1"
date:"2017-11-07"
}
1:{
id:"2"
date:"2017-11-05"
}
2:{
id:"3"
date:"2017-11-05"
}
3:{
id:"4"
date:"2017-11-01"
}
4:{
id:"5"
date:"2017-11-01"
}
]
我只想像这样分组
data:[
0:{
0:[id:"1",date:"2017-11-07"]
}
1:{
0:[id:"2",date:"2017-11-05"],
1:[id:"3",date:"2017-11-05"]
}
2:{
0:[id:"4",date:"2017-11-01"],
1:[id:"5",date:"2017-11-01"]
}]
我有一个代码来自php
,并且效果很好,
这是我的代码php
:
$newTemp = array();
foreach($temp as $value){
$newTemp[$value['id'].'_'.$value['date']][] = $value;
}
但我不知道如何使用它javascript
你能帮助我编写代码,了解如何对数组的日期进行分组吗
您可以使用哈希表来定义同一组,并将任何新组推送到结果集。
var data = [{ id: "1", date: "2017-11-07" }, { id: "2", date: "2017-11-05" }, { id: "3", date: "2017-11-05" }, { id: "4", date: "2017-11-01" }, { id: "5", date: "2017-11-01" }],
hash = Object.create(null),
result = [];
data.forEach(function (o) {
if (!hash[o.date]) {
hash[o.date] = [];
result.push(hash[o.date]);
}
hash[o.date].push(o);
});
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)