为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript 对象合并问题

JavaScript 对象合并问题

九州编程 2018-11-15 10:10:06
假设有这么一个对象:我们可以看到,tags 数组是有重复的,试问如何才能合并具有相同 tags 数组的对象,同时将对应的不同 title 和 url 对象合并为数组,即,经过你的 js 处理后,生成类似下面的结构:今天遇到的一个题目,想了很久也没有头绪,求老司机解答
查看完整描述

1 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

其实这里最麻烦是对 Object 判断,题主并没有给出 name 和 slug 是什么样的一个类型值,所以一切都变得非常难办。

但,也不是无从下手,可以借助第三方库,例如:lodash 和 _.isEqual

let rv = data.posts.reduce((acc, val) => {

    let eItem = acc.find(w => _.isEqual(w.tags, val.tags));

    if (!eItem) {

        eItem = { title: [], tags: val.tags };

        acc.push(eItem);

    }

    

    eItem.title.push(val.title);

    

    return acc;

}, []);


查看完整回答
反对 回复 2018-12-05
  • 1 回答
  • 0 关注
  • 494 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信