La méthode de déduplication d'objet dans le tableau JS

 Un tableau contient des objets et supprime les objets en double dans le tableau

  1. Si l'identifiant est le même, gardez le premier et supprimez les autres
      let arr = [
        { id: 0, name: "张三" },
        { id: 1, name: "李四" },
        { id: 2, name: "王五" },
        { id: 3, name: "赵六" },
        { id: 1, name: "孙七" },
        { id: 2, name: "周八" },
        { id: 2, name: "吴九" },
        { id: 3, name: "郑十" },
      ];

        const removeDuplicateObj = (arr) => {
          let obj = {};
          arr = arr.reduce((newArr, next) => {
            obj[next.id] ? "" : (obj[next.id] = true && newArr.push(next));
            return newArr;
          }, []);
          return arr;
        };

        console.log(removeDuplicateObj(arr));

insérez la description de l'image ici

 

2. Supprimez tous les doublons ------------- méthode reduce()

      let arr = [
        { id : 0, nom : "Zhang San" },
        { id : 1, nom : "Li Si" },
        { id : 2, nom : "Wang Wu" },
        { id : 3, nom : "Zhao Liu" },
        { id : 1, nom : "Sun Qi" },
        { id : 2, nom : "week eight" },
        { id : 2, nom : "Wu Jiu" },
        { id : 3, nom : "Zheng Shi" },
      ] ;

      const removeDuplicateObj = (arr) => {         let obj = {} ;         arr = arr.reduce((newArr, next) => {           obj[next.key] ? "" : (obj[next.key] = true && newArr.push(next));           return newArr;         }, []) ;         retour arr ;       } ;






      console.log(removeDuplicateObj(arr));

insérez la description de l'image ici

 

3. Supprimez toutes les méthodes répétées -------------- pour les boucles

      let arr = [
        { id: 0, name: "张三" },
        { id: 1, name: "李四" },
        { id: 2, name: "王五" },
        { id: 3, name: "赵六" },
        { id: 1, name: "孙七" },
        { id: 2, name: "周八" },
        { id: 2, name: "吴九" },
        { id: 3, name: "郑十" },
      ];

      const removeDuplicateObj = (arr) => {
        let newArr = []
        let obj = {};
        for (var i = 0; i < arr.length; i++) {
          if (!obj[arr[i].key]) {
            newArr.push(arr[i]);
            obj[arr[i].key] = true;
          }
        }
        return newArr
      };

      console.log(removeDuplicateObj(arr));

 

4. Jugez chaque attribut de l'objet, si les valeurs d'attribut correspondantes sont les mêmes, supprimez le doublon

 let arr = [
        { id: 0, name: "张三", age: 23 },
        { id: 1, name: "李四", age: 23 },
        { id: 2, name: "王五", age: 24 },
        { id: 3, name: "赵六", age: 25 },
        { id: 1, name: "孙七", age: 23 },
        { id: 2, name: "周八", age: 24 },
        { id: 2, name: "吴九", age: 26 },
        { id: 3, name: "郑十", age: 25 },
      ];

      const removeDuplicateObj = (arr) => {
        // 缓存用于记录
        const newArr = [];
        for (const t of arr) {
          // 检查缓存中是否已经存在
          if (
            newArr.find(
              (c) =>
                c.id === t.id &&
                c.age === t.age 
            )
          ) {
            // 已经存在说明以前记录过,现在这个就是多余的,直接忽略
            continue;
          }
          // 不存在就说明以前没遇到过,把它记录下来
          newArr.push(t);
        }

        // 记录结果就是过滤后的结果
        return newArr;
      };

      console.log(removeDuplicateObj(arr));


Lien d'origine : https://blog.csdn.net/weixin_47872719/article/details/121284505

Je suppose que tu aimes

Origine blog.csdn.net/qq_41842461/article/details/126299804
conseillé
Classement