• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

js 判断数组对象某一属性是否包含重复的值

武飞扬头像
SummerGao.
帮助1

1、使用set,map实现

  1.  
    let arr = [{
  2.  
    "name" : "张三",
  3.  
    "id" : 1
  4.  
    },{
  5.  
    "name" : "李四",
  6.  
    "id" : 3
  7.  
    },{
  8.  
    "name" : "张三",
  9.  
    "id" : 2
  10.  
    }];
  11.  
     
  12.  
     
  13.  
    let names = arr.map(item => item["name"]);
  14.  
    let nameSet = new Set(names);
  15.  
     
  16.  
    if (nameSet.size == names.length) {
  17.  
    console.log("没有重复值");
  18.  
    } else {
  19.  
    console.log("有重复值");
  20.  
    }
学新通

2、使用标识判断是否存在

  1.  
    /**
  2.  
    * @param arr 如:var arr = [{name: "123", age : 123}, {name:"1234432", age : 1234324}]
  3.  
    * @param key 如:"name"
  4.  
    *
  5.  
    * @retutns boolean: true:不存在; false:存在重复
  6.  
    **/
  7.  
    function isRepeat(arr, key) {
  8.  
    var obj = {};
  9.  
    for (let i = 0; i < arr.length; i ) {
  10.  
    if (obj[arr[i][key]]) {
  11.  
    return false; // 存在
  12.  
    } else {
  13.  
    obj[arr[i][key]] = arr[i];
  14.  
    }
  15.  
    }
  16.  
    return true;
  17.  
    }
学新通

3、双层循环

  1.  
    /**
  2.  
    * @param arr 如:var arr = [{name: "123", age : 123}, {name:"1234432", age : 1234324}]
  3.  
    * @param key 如:"name"
  4.  
    *
  5.  
    * @retutns boolean: true:不存在; false:存在重复
  6.  
    **/
  7.  
    function isRepeat(arr, key) {
  8.  
    for (let i = 0; i < arr.length; i ) {
  9.  
    for (let j = i 1; j < arr.length; j ) {
  10.  
    if (arr[i][key] == arr[j][key]) {
  11.  
    return false;
  12.  
    }
  13.  
    }
  14.  
    }
  15.  
    return true;
  16.  
    }
学新通
  1.  
    var arr = [2, 3, 1, 5, 7,6, 4,9, 8];
  2.  
     
  3.  
    for (let i = arr.lengtgh; i >= 0; i --) {
  4.  
    for (let j = 0; j < i; j ) {
  5.  
    if (arr[j] > arr[j 1]) {
  6.  
    var temp = arr[j];
  7.  
    arr[j] = arr[j 1];
  8.  
    arr[j 1] = temp;
  9.  
    }
  10.  
    }
  11.  
    }

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfifbcb
系列文章
更多 icon
同类精品
更多 icon
继续加载