在工作中可能有这样的场景:后台给你一堆数据(一个数组),但是在使用之前你需要根据数组中对象的某个属性对所有对象进行分类,比如下面这组数据,要求根据 year 这个属性划分所有对象:
处理之后的效果:
那我们怎么写处理数据的方法呢?
function dealWithData(data){
let c = [];
let d = {};
data.forEach(element => {
if(!d[element.year]){
c.push({
year: element.year,
allData: [element]
});
d[element.year] = element;
}else{
c.forEach(ele => {
if(ele.year == element.year){
ele.allData.push(element);
}
});
}
});
return c;
}
console.log(dealWithData(arr));
当然方法中的 属性 year可以替换成你需要的任意属性。
希望本文对您有所帮助!
个人微信公众号:侦探小禾子,闲聊育儿生活星座塔罗牌,野生法考通过者免费法律咨询,欢迎关注!