Open liubinis86 opened 5 years ago
奥日gay在QQ前(吹)端(水)交(聊)流(天)群(134558236)里问咋根据数组中某一项的值去合并其他值相同的项,然后输出一个新的数组。重点是有两万多条数据哟!。需求大概如下图:
开始捣鼓,一开始自然想到了日常开发中常用的循环,就屁颠屁颠地用了嵌套循环去搞,结果敲完跑起来的时候我的小笔记本的风扇那个转啊,我都怕它Boom掉。最后我的小本本宣告投降,丢出了内存溢出的错误。
想着怎么解决吧,思来想去,碰巧最近正值离职找工作期间,灵光一闪,想到了一道经典的面试题:数组的去重合并!重新整理了一下思路敲了一遍代码,发觉是可行的,哈哈哈哈。就很开心,完美解决问题!
const obj = substationList.reduce((result,item) => { if (result[item.CZBNAME]) { result[item.CZBNAME].NAME += `,${item.NAME}`; } else { result[item.CZBNAME] = item; } return result; },{}); const resultArray = Object.values(obj); console.log(resultArray);
86老gay技术非凡,成为大牛指日可待,我等佩服!
再加个 NAME 的去重,爽到翻白眼...
永恒老gay,你是魔鬼吗?
骚果然还是神奇永恒骚啊。爽到不能呼吸.jpg
数组去重合并有感
起因:
奥日gay在QQ前(吹)端(水)交(聊)流(天)群(134558236)里问咋根据数组中某一项的值去合并其他值相同的项,然后输出一个新的数组。重点是有两万多条数据哟!。需求大概如下图:
经过:
开始捣鼓,一开始自然想到了日常开发中常用的循环,就屁颠屁颠地用了嵌套循环去搞,结果敲完跑起来的时候我的小笔记本的风扇那个转啊,我都怕它Boom掉。最后我的小本本宣告投降,丢出了内存溢出的错误。
想着怎么解决吧,思来想去,碰巧最近正值离职找工作期间,灵光一闪,想到了一道经典的面试题:数组的去重合并!重新整理了一下思路敲了一遍代码,发觉是可行的,哈哈哈哈。就很开心,完美解决问题!
总结: