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

发布于 2022-09-13 01:10:41 字数 343 浏览 16 评论 0

刚玩js,小白一枚,请大佬多多指教。
数据是这样的

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

琴流音 2022-09-20 01:10:41
let mobilePhoneList = [
        {
          number: '123',
        }, {
          number: '123456',
        }, {
          number: '123456789',
        },
      ]
const res = mobilePhoneList.some(r => mobilePhoneList.filter(r1 => r1.number===r.number).length > 1)
console.log(res)
梦言归人 2022-09-20 01:10:41
function hasEqualNumber(list) {
    const nums = new Set
    for(const item of list) {
        if(nums.has(item.number)) return true;
        nums.add(item.number)
    }
    return false;
}
安静 2022-09-20 01:10:41
function hasQqualItems (objArr) {
    let temp = {};
    for (const obj of objArr) {
        if (temp[obj.number]) {
            return true;
        }
        temp[obj.number] = true;
    }
    temp = null;
    return false;
}
逆光下的微笑 2022-09-20 01:10:41
 let mobilePhoneList = [
        {
          number: '123',
        },{
          number: '123456',
        }, {
          number: '123456',
        }, {
          number: '123456789',
        },
      ];
mobilePhoneList.some((cur,idx,arr)=>arr.slice(idx+1).find(item=>cur.number==item.number));

image.png
image.png

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文