Liuxiao_6688 2021-08-23 18:56 采纳率: 90%
浏览 2622
已结题

判断一个数组中所有对象的某个属性值是否相同

刚玩js,萌新一枚,请多多指教。
数据是这样的

 let mobilePhoneList = [
        {
          number: '123',
        }, {
          number: '123456',
        }, {
          number: '123456789',
        },
      ],

这个数组里可能会有很多数据。
我想实现的是,判断每个对象里number属性的值,只要其中任何两个相等就返回true,否则返回false。(并不是其他number只跟第一个或第二个相比较,是所有的number都要相互比较)

  • 写回答

3条回答 默认 最新

  • 关注

    你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

    let mobilePhoneList = [
            {
              number: '123',
            }, {
              number: '123456',
            }, {
              number: '123456789',
            },
          ];
    function pf(arr) {
        var set = new Set; //创建个集合Set对象(用object对象也可以)
        return arr.some(function(v, i){ //遍历 arr数组,当返回值为true时提前退出遍历。
            var f = set.has(v.number);//判断每个对象里number属性的值是否在集合Set
            set.add(v.number); //将number属性的值添加到集合Setreturn f;
        });
    }
    alert(pf(mobilePhoneList));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    1人已打赏
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 9月1日
  • 已采纳回答 8月24日
  • 创建了问题 8月23日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵