liubinis86 / blog

Some experience summary
9 stars 1 forks source link

数组去重合并有感 #4

Open liubinis86 opened 5 years ago

liubinis86 commented 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);

总结:

PhoenixDream commented 5 years ago

86老gay技术非凡,成为大牛指日可待,我等佩服!

forever-z-133 commented 5 years ago

再加个 NAME 的去重,爽到翻白眼...

PhoenixDream commented 5 years ago

再加个 NAME 的去重,爽到翻白眼...

永恒老gay,你是魔鬼吗?

liubinis86 commented 5 years ago

再加个 NAME 的去重,爽到翻白眼...

骚果然还是神奇永恒骚啊。爽到不能呼吸.jpg