javascript 数组去重内置方法有三种:set、indexof 和 includes。
一、set 方法
set 是 es6 中新增的一种数据结构,它允许你存储任意类型的唯一值,即保证集合中的元素不重复。利用 set 的特性,可以很方便地对数组进行去重。
使用 set 方法去重的具体步骤如下:
定义一个空的 set 对象;遍历数组,将数组元素作为 set 对象的值存入;将 set 对象转为数组。示例代码如下:
const arr = [1, 2, 3, 3, 4, 4, 5];
const newarr = array.from(new set(arr));
console.log(newarr); // [1, 2, 3, 4, 5]
上述代码中,array.from 方法用于将 set 对象转为数组。运行结果表明,数组 arr 中的重复元素已经被去除。
二、indexof 方法
indexof 方法可以查询数组中指定元素的位置,如果不存在,则返回 -1。利用这个方法,我们可以在遍历数组时判断元素是否存在,从而达到去重的目的。
使用 indexof 方法去重的具体步骤如下:
定义一个空的数组;遍历原数组 arr,如果新数组 newarr 中不存在当前元素,则将当前元素添加到 newarr 中。示例代码如下:
const arr = [1, 2, 3, 3, 4, 4, 5];
const newarr = [];
for (let i = 0; i < arr.length; i++) {
if (newarr.indexof(arr[i]) === -1) {
newarr.push(arr[i]);
}
}
console.log(newarr); // [1, 2, 3, 4, 5]
上述代码中,通过判断元素在新数组中是否存在,达到了去重的目的。运行结果和 set 方法的结果相同。
三、includes 方法
includes 方法是 es7 中新增的方法,它用于判断数组是否包含指定元素。针对去重操作,我们可以在遍历数组时判断新数组中是否包含当前元素,从而去除重复元素。
使用 includes 方法去重的具体步骤如下:
定义一个空的数组;遍历原数组 arr,如果新数组 newarr 中不包含当前元素,则将当前元素添加到 newarr 中。示例代码如下:
const arr = [1, 2, 3, 3, 4, 4, 5];
const newarr = [];
for (let i = 0; i < arr.length; i++) {
if (!newarr.includes(arr[i])) {
newarr.push(arr[i]);
}
}
console.log(newarr); // [1, 2, 3, 4, 5]
和 indexof 方法相比,includes 方法可以更加简洁地实现去重操作。运行结果和前两种方法的结果相同。
综上所述,javascript 数组去重有三种常用的内置方法:set、indexof 和 includes。这三种方法在运用时,都需要根据具体的情况进行选择。如果你使用的是 es6 或更高版本的 javascript,推荐使用 set 方法。如果需要兼容旧版本的 javascript,则可以使用 indexof 或 includes 方法。无论使用哪种方法,都可以很优雅地实现数组去重操作。
以上就是javascript数组去重内置方法的详细内容。