📅  最后修改于: 2023-12-03 14:42:31.029000             🧑  作者: Mango
当我们需要从一个数组中获取独一无二的值时,可以使用以下几种方法。
ES6中引入了Set对象,可以用于存储不同的值。使用Set对象可以方便地从数组中获取不同的值。
const arr = [1, 2, 3, 3, 4, 4, 5];
const uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // [1, 2, 3, 4, 5]
reduce()方法可以将数组中的每个元素执行一个函数,最终将所有元素合并为一个值。
在reduce()方法中,我们可以使用一个空数组来存储不同的值,并使用includes()方法来判断当前值是否已存在于数组中。
const arr = [1, 2, 3, 3, 4, 4, 5];
const uniqueArr = arr.reduce((acc, cur) => acc.includes(cur) ? acc : [...acc, cur], []);
console.log(uniqueArr); // [1, 2, 3, 4, 5]
filter()方法可以用来筛选数组中符合条件的元素,并返回一个新的数组。
在filter()方法中,我们可以用indexOf()方法来判断当前值是否已存在于数组中。
const arr = [1, 2, 3, 3, 4, 4, 5];
const uniqueArr = arr.filter((value, index, self) => self.indexOf(value) === index);
console.log(uniqueArr); // [1, 2, 3, 4, 5]
以上是三种常见的从数组中获取不同的值的方法,可以根据自己的需求选择使用。