Xóa mục trùng lặp trong đối tượng mảng JavaScript

Để xóa các đối tượng trùng lặp khỏi mảng trong javascript es6, es5;

Hướng dẫn này có mục đích chính là mô tả các cách tốt nhất để loại bỏ các đối tượng trùng lặp khỏi Mảng JavaScript dựa trên thuộc tính/khóa cụ thể. Khóa có nghĩa là id, tên, mã, v.v.

Loại bỏ các đối tượng trùng lặp khỏi một mảng bằng cách sử dụng các phương thức mảng js như new Set(), forEach() , for loop, reduce(), filter() với các phương thức findIndex()

Hoặc bạn cũng nên đọc bài viết về mảng javascript này

  • Chuyển đổi mảng thành chuỗi được phân tách bằng dấu phẩy javaScript
  • Javascript – Xóa các bản sao khỏi mảng

Làm cách nào để xóa các đối tượng trùng lặp khỏi mảng JavaScript?

javascript có nhiều phương thức khác nhau như phương thức Set(), forEach() mới, vòng lặp for, rút ​​gọn(), lọc() với findIndex() để xóa các đối tượng trùng lặp khỏi mảng javascript

  • Phương pháp đầu tiên – Loại bỏ các đối tượng trùng lặp khỏi mảng trong JavaScript bằng Set() mới
  • Phương pháp thứ hai - JavaScript loại bỏ mảng đối tượng trùng lặp bằng vòng lặp for
  • Phương pháp thứ ba - Xóa các đối tượng trùng lặp khỏi mảng javascript bằng foreach
  • Phương pháp thứ tư - JavaScript loại bỏ các đối tượng trùng lặp khỏi một mảng bằng bộ lọc
  • Phương pháp thứ năm - javascript loại bỏ các đối tượng trùng lặp khỏi mảng bằng cách sử dụng giảm

Hãy xem xét rằng bạn có id và tên của các đối tượng mảng JavaScript. Và nó có chứa các đối tượng trùng lặp. Bạn có thể xem bên dưới

    var arr = [{
      id: 1,
      name: "php"
    },
    {
      id: 2,
      name: "mysql"
    },
    {
      id: 3,
      name: "laravel"
    },
    {
      id: 4,
      name: "codeigniter"
    },
    {
      id: 5,
      name: "wordpress"
    },
    {
      id: 6,
      name: "sql"
    },
    {
      id: 7,
      name: "jquery"
    },
    {
      id: 8,
      name: "javascript"
    },
    {
      id: 9,
      name: "python"
    },
    {
      id: 10,
      name: "django"
    },
    {
      id: 11,
      name: "joomla"
    },
    {
      id: 12,
      name: "laravel"
    },
    {
      id: 13,
      name: "php"
    },
    {
      id: 14,
      name: "codeigniter"
    },
    {
      id: 15,
      name: "angular"
    },
    {
      id: 16,
      name: "react"
    },
    {
      id: 17,
      name: "ruby"
    },
    {
      id: 18,
      name: "mysql"
    }
  ];

Hãy bắt đầu xóa các đối tượng trùng lặp khỏi mảng javascript bằng một số phương thức javascript

Phương pháp đầu tiên – Loại bỏ các đối tượng trùng lặp khỏi mảng trong JavaScript bằng Set() mới

Bạn có thể sử dụng phương thức set() mới để xóa các đối tượng trùng lặp khỏi một mảng trong javascript

Chúng tôi có các đối tượng của mảng trong javascript. Và nó có chứa các đối tượng trùng lặp. Bạn có thể xem bên dưới

    var arr = [{
      id: 1,
      name: "php"
    },
    {
      id: 2,
      name: "mysql"
    },
    {
      id: 3,
      name: "laravel"
    },
    {
      id: 4,
      name: "codeigniter"
    },
    {
      id: 5,
      name: "wordpress"
    },
    {
      id: 6,
      name: "sql"
    },
    {
      id: 7,
      name: "jquery"
    },
    {
      id: 8,
      name: "javascript"
    },
    {
      id: 9,
      name: "python"
    },
    {
      id: 10,
      name: "django"
    },
    {
      id: 11,
      name: "joomla"
    },
    {
      id: 12,
      name: "laravel"
    },
    {
      id: 13,
      name: "php"
    },
    {
      id: 14,
      name: "codeigniter"
    },
    {
      id: 15,
      name: "angular"
    },
    {
      id: 16,
      name: "react"
    },
    {
      id: 17,
      name: "ruby"
    },
    {
      id: 18,
      name: "mysql"
    }
  ];

Ở đây chúng ta sẽ tạo một hàm javascript tùy chỉnh bằng cách sử dụng phương thức set() mới để xóa các đối tượng khỏi một mảng trong javascript

Bán tại. -

    var arr = [{
      id: 1,
      name: "php"
    },
    {
      id: 2,
      name: "mysql"
    },
    {
      id: 3,
      name: "laravel"
    },
    {
      id: 4,
      name: "codeigniter"
    },
    {
      id: 5,
      name: "wordpress"
    },
    {
      id: 6,
      name: "sql"
    },
    {
      id: 7,
      name: "jquery"
    },
    {
      id: 8,
      name: "javascript"
    },
    {
      id: 9,
      name: "python"
    },
    {
      id: 10,
      name: "django"
    },
    {
      id: 11,
      name: "joomla"
    },
    {
      id: 12,
      name: "laravel"
    },
    {
      id: 13,
      name: "php"
    },
    {
      id: 14,
      name: "codeigniter"
    },
    {
      id: 15,
      name: "angular"
    },
    {
      id: 16,
      name: "react"
    },
    {
      id: 17,
      name: "ruby"
    },
    {
      id: 18,
      name: "mysql"
    }
  ];

function removeDuplicateObjectFromArray(array, key) {
  var check = new Set();
  return array.filter(obj => !check.has(obj[key]) && check.add(obj[key]));
}

console.log(removeDuplicateObjectFromArray(arr, 'name'))

Xóa mục trùng lặp trong đối tượng mảng JavaScript

Phương pháp thứ hai - JavaScript loại bỏ mảng đối tượng trùng lặp bằng vòng lặp for

Tiếp theo, chúng ta sẽ tạo một hàm javascript mới sử dụng vòng lặp for để loại bỏ các đối tượng trùng lặp khỏi mảng javascript

Bạn có thể chuyển mảng đối tượng trùng lặp bằng khóa trong hàm này và nó sẽ trả về mảng duy nhất

Bán tại. -

    var arr = [{
      id: 1,
      name: "php"
    },
    {
      id: 2,
      name: "mysql"
    },
    {
      id: 3,
      name: "laravel"
    },
    {
      id: 4,
      name: "codeigniter"
    },
    {
      id: 5,
      name: "wordpress"
    },
    {
      id: 6,
      name: "sql"
    },
    {
      id: 7,
      name: "jquery"
    },
    {
      id: 8,
      name: "javascript"
    },
    {
      id: 9,
      name: "python"
    },
    {
      id: 10,
      name: "django"
    },
    {
      id: 11,
      name: "joomla"
    },
    {
      id: 12,
      name: "laravel"
    },
    {
      id: 13,
      name: "php"
    },
    {
      id: 14,
      name: "codeigniter"
    },
    {
      id: 15,
      name: "angular"
    },
    {
      id: 16,
      name: "react"
    },
    {
      id: 17,
      name: "ruby"
    },
    {
      id: 18,
      name: "mysql"
    }
  ];
function removeDuplicateObjectFromArray(array, key) {
    let check = {};
    let res = [];
    for(let i=0; i<array.length; i++) {
        if(!check[array[i][key]]){
            check[array[i][key]] = true;
            res.push(array[i]);
        }
    }
    return res;
}
console.log(removeDuplicateObjectFromArray(arr, 'name'))

Xóa mục trùng lặp trong đối tượng mảng JavaScript

Phương pháp thứ ba - Xóa các đối tượng trùng lặp khỏi mảng javascript bằng foreach

Bạn có thể sử dụng phương thức forEach() trong javascript để xóa các đối tượng trùng lặp khỏi một mảng trong javascript

Ở đây chúng ta sẽ tạo một hàm javascript bằng forEach, được sử dụng để loại bỏ các đối tượng trùng lặp khỏi một mảng trong javascript. Bạn có thể xem phương pháp dưới đây

Bán tại. -

    var arr = [{
      id: 1,
      name: "php"
    },
    {
      id: 2,
      name: "mysql"
    },
    {
      id: 3,
      name: "laravel"
    },
    {
      id: 4,
      name: "codeigniter"
    },
    {
      id: 5,
      name: "wordpress"
    },
    {
      id: 6,
      name: "sql"
    },
    {
      id: 7,
      name: "jquery"
    },
    {
      id: 8,
      name: "javascript"
    },
    {
      id: 9,
      name: "python"
    },
    {
      id: 10,
      name: "django"
    },
    {
      id: 11,
      name: "joomla"
    },
    {
      id: 12,
      name: "laravel"
    },
    {
      id: 13,
      name: "php"
    },
    {
      id: 14,
      name: "codeigniter"
    },
    {
      id: 15,
      name: "angular"
    },
    {
      id: 16,
      name: "react"
    },
    {
      id: 17,
      name: "ruby"
    },
    {
      id: 18,
      name: "mysql"
    }
  ];

function removeDuplicateObjectFromArray(array, key) {
    var check = {};
    var res = [];
    array.forEach(element => {
        if(!check[element[key]]) {
            check[element[key]] = true;
            res.push(element);
        }
    });
    return res;
}

console.log(removeDuplicateObjectFromArray(arr, 'name'))

Xóa mục trùng lặp trong đối tượng mảng JavaScript

Phương pháp thứ tư - JavaScript loại bỏ các đối tượng trùng lặp khỏi một mảng bằng bộ lọc

Bạn có thể sử dụng phương thức lọc JavaScript với findIndex() để xóa các đối tượng trùng lặp khỏi một mảng trong javascript

Bạn có thể xem chức năng và ví dụ bên dưới. Trong javascript này, hãy truyền mảng và khóa và nó sẽ trả về mảng mới với các đối tượng duy nhất

Bán tại. -

    var arr = [{
      id: 1,
      name: "php"
    },
    {
      id: 2,
      name: "mysql"
    },
    {
      id: 3,
      name: "laravel"
    },
    {
      id: 4,
      name: "codeigniter"
    },
    {
      id: 5,
      name: "wordpress"
    },
    {
      id: 6,
      name: "sql"
    },
    {
      id: 7,
      name: "jquery"
    },
    {
      id: 8,
      name: "javascript"
    },
    {
      id: 9,
      name: "python"
    },
    {
      id: 10,
      name: "django"
    },
    {
      id: 11,
      name: "joomla"
    },
    {
      id: 12,
      name: "laravel"
    },
    {
      id: 13,
      name: "php"
    },
    {
      id: 14,
      name: "codeigniter"
    },
    {
      id: 15,
      name: "angular"
    },
    {
      id: 16,
      name: "react"
    },
    {
      id: 17,
      name: "ruby"
    },
    {
      id: 18,
      name: "mysql"
    }
  ];
function removeDuplicateObjectFromArray(array, key) {
    return array.filter((obj, index, self) =>
        index === self.findIndex((el) => (
            el[key] === obj[key]
        ))
    )
}
console.log(removeDuplicateObjectFromArray(arr, 'name'))

Xóa mục trùng lặp trong đối tượng mảng JavaScript

Phương pháp thứ năm - javascript loại bỏ các đối tượng trùng lặp khỏi mảng bằng cách sử dụng giảm

Bạn có thể sử dụng phương thức javascript reduce() để loại bỏ các đối tượng trùng lặp khỏi một mảng bằng cách sử dụng reduce