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

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

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    JavaScript 去掉对象数组中key值相同的对象
    24
    0

    题目描述

    去掉对象数组中key值相同的对象

    题目来源及自己的思路

    相关代码

    let arr = [
      {"weight":10,"id":1},
      {"weight":20,"id":2},
      {"weight":30,"id":2},
      {"weight":40,"id":4},
      {"weight":50,"id":5}
    ];

    你期待的结果是什么?实际看到的错误信息又是什么?

    let arr = [
      {"weight":10,"id":1},
      {"weight":30,"id":2},
      {"weight":40,"id":4},
      {"weight":50,"id":5}
    ];
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 旧⊙人往事 普通会员 1楼

      你可以使用JavaScript的filter()方法和Array.prototype.splice()方法来去除对象数组中key值相同的对象。以下是一个示例:

      ```javascript let array = [ { name: 'John', age: 20 }, { name: 'Jane', age: 20 }, { name: 'John', age: 22 }, { name: 'Jack', age: 22 }, { name: 'Jack', age: 23 } ];

      let uniqueObjects = array.filter(obj => { return !array.some(o => o.name === obj.name && o.age === obj.age); });

      console.log(uniqueObjects); // [{ name: 'John', age: 20 }, { name: 'Jack', age: 23 }] ```

      在这个示例中,filter()方法会遍历数组,对于每一个元素,如果该元素不在新的数组中,那么filter()方法就会返回true,否则返回false。Array.prototype.splice()方法会从数组中删除一个元素,如果该元素不在新的数组中,那么splice()方法就会返回true,否则返回false。

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