溫馨提示×

es6數(shù)組和對象去重的方法是什么

es6
小億
87
2023-12-23 22:23:14
欄目: 編程語言

在ES6中,可以使用Set數(shù)據(jù)結構來實現(xiàn)數(shù)組和對象的去重。Set是一種特殊的數(shù)據(jù)結構,它只存儲唯一的值,不會出現(xiàn)重復。

對于數(shù)組去重,可以將數(shù)組轉換為Set,然后再將Set轉換回數(shù)組即可去除重復值。例如:

const array = [1, 2, 3, 3, 4, 5, 5];
const uniqueArray = [...new Set(array)];
console.log(uniqueArray); // [1, 2, 3, 4, 5]

對于對象去重,可以先將對象轉換為字符串,然后再利用Set去重,最后再將字符串轉換回對象。例如:

const array = [
  { id: 1, name: 'Alice' },
  { id: 2, name: 'Bob' },
  { id: 1, name: 'Alice' },
  { id: 3, name: 'Charlie' }
];

const uniqueArray = Array.from(new Set(array.map(JSON.stringify))).map(JSON.parse);
console.log(uniqueArray);
// [
//   { id: 1, name: 'Alice' },
//   { id: 2, name: 'Bob' },
//   { id: 3, name: 'Charlie' }
// ]

需要注意的是,Set只能去除基本類型值的重復,對于復雜類型的值,如對象,需要先將其轉換為字符串再進行去重。

0