千锋教育-做有情怀、有良心、有品质的职业教育机构
JavaScript中去除数组中的重复值可以有以下几种方法:
使用Set:将数组转化为Set集合,然后将Set集合转化为数组即可。由于Set集合不能有重复值,所以会自动去除数组中的重复值。代码如下:
const arr = [1, 2, 2, 3, 4, 4, 5];
const arrWithoutDuplicates = Array.from(new Set(arr));
console.log(arrWithoutDuplicates); // [1, 2, 3, 4, 5]
使用filter和indexOf:利用filter和indexOf方法,遍历数组,判断数组中元素第一次出现的位置和当前位置是否相同,相同则表示重复,过滤掉即可。代码如下:
const arr = [1, 2, 2, 3, 4, 4, 5];
const arrWithoutDuplicates = arr.filter((item, index) => arr.indexOf(item) === index);
console.log(arrWithoutDuplicates); // [1, 2, 3, 4, 5]
使用reduce:利用reduce方法遍历数组,将非重复元素添加到新数组中。代码如下:
const arr = [1, 2, 2, 3, 4, 4, 5];
const arrWithoutDuplicates = arr.reduce((prev, cur) => prev.includes(cur) ? prev : [...prev, cur], []);
console.log(arrWithoutDuplicates); // [1, 2, 3, 4, 5]
使用Map:利用Map数据结构,遍历数组,将数组元素作为Map的键值,由于Map不能有重复键值,所以会自动去除数组中的重复值。代码如下:
const arr = [1, 2, 2, 3, 4, 4, 5];
const arrWithoutDuplicates = [...new Map(arr.map(item => [item, item])).values()];
console.log(arrWithoutDuplicates); // [1, 2, 3, 4, 5]
以上几种方法都可以有效地去除数组中的重复值,选择合适的方法可以提高代码的效率和可读性。
上一篇
为什么接口中没有构造方法?下一篇
jsp和html区别相关推荐