账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    js 数组里的对象去重
    21
    0

    需求是:如果数组的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},        
    ];
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 旧巷望雨 普通会员 1楼

      在JavaScript中,你可以使用Set数据结构来去除数组中的重复对象。Set是一个无序的、不重复的、不包含重复元素的集合。

      以下是一个示例:

      ```javascript let arr = [ { id: 1, name: 'John' }, { id: 2, name: 'John' }, { id: 3, name: 'Jane' }, { id: 4, name: 'Jane' } ];

      let uniqueArr = [...new Set(arr)];

      console.log(uniqueArr); // 输出:[ { id: 1, name: 'John' }, { id: 3, name: 'Jane' } ] ```

      在这个例子中,Set(arr)会创建一个新的集合,其中的元素是原数组中的对象,但不包括重复的对象。然后,...new Set(arr)会创建一个新的数组,其中的元素是原数组中的对象,且不包含重复的对象。

      注意,这个方法只适用于数组中的对象,如果你需要去除数组中的其他类型的元素,例如数组中的字符串或数字,你需要先将其转换为对象,然后再使用Set

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部