数组去重
在 JavaScript 中,可以使用多种方法对数组进行去重。下面介绍几种常用的数组去重方法:
使用 Set:天然去重
javascript var array = [1, 2, 3, 4, 1, 2, 3]; var uniqueArray = [...new Set(array)]; console.log(uniqueArray); // 输出 [1, 2, 3, 4]
利用 Set 数据结构的特性,它只会存储不重复的值,通过将数组转化为 Set,再将 Set 转换为数组的方式,实现数组去重。
使用 indexOf:
javascript var array = [1, 2, 3, 4, 1, 2, 3]; var uniqueArray = array.filter(function(value, index, self) { return self.indexOf(value) === index; }); console.log(uniqueArray); // 输出 [1, 2, 3, 4]
利用数组的 filter 方法和 indexOf 方法,遍历原数组,通过检查元素在数组中首次出现的索引是否等于当前索引,来判断元素是否重复。
使用 includes:
javascript var array = [1, 2, 3, 4, 1, 2, 3]; var uniqueArray = array.filter(function(value, index, self) { return self.includes(value, index + 1) === false; }); console.log(uniqueArray); // 输出 [1, 2, 3, 4]
利用数组的 filter 方法和 includes 方法,遍历原数组,通过检查元素后面是否还有相同的元素来判断是否重复。
使用 reduce:
javascript var array = [1, 2, 3, 4, 1, 2, 3]; var uniqueArray = array.reduce(function(prev, curr) { if (prev.indexOf(curr) === -1) { prev.push(curr); } return prev; }, []); console.log(uniqueArray); // 输出 [1, 2, 3, 4]
利用数组的 reduce 方法,遍历原数组,将不重复的元素追加到结果数组中。
这些方法都可以实现数组去重,但各有特点。选择合适的方法取决于具体的需求和性能要求。