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

js 数组里的对象去重

js 数组里的对象去重

幕布斯6054654 2018-10-24 09:12:41
需求是:如果数组的name相同,就比较下timestamp,哪个比较大保留哪个,小的去掉。数组如下:var arr = [     {name: "袜子", timestamp: 1537243392},     {name: "月饼", timestamp: 1537243369},     {name: "月饼", timestamp: 1537243411},     {name: "女鞋", timestamp: 1537243241},     {name: "童鞋", timestamp: 1537243204},         ];希望得到的数组结果是:var finalArr = [     {name: "袜子", timestamp: 1537243392},     {name: "月饼", timestamp: 1537243411},     {name: "女鞋", timestamp: 1537243241},     {name: "童鞋", timestamp: 1537243204},         ];
查看完整描述

1 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

var arr = [
    {name: "袜子", timestamp: 1537243392},
    {name: "月饼", timestamp: 1537243369},
    {name: "月饼", timestamp: 1537243411},
    {name: "女鞋", timestamp: 1537243241},
    {name: "童鞋", timestamp: 1537243204},
];var obj = {};
arr.forEach(v=>{    if (!obj[v.name] || obj[v.name].timestamp < v.timestamp) obj[v.name] = v;
});console.log(Object.values(obj));


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

添加回答

举报

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