JavaScript中的数组去重是指将一个数组中重复的元素保留一个,去除其余的元素,使得最终数组中不含有重复元素。
Set对象是ES6中引入的一种新的数据类型,它类似于数组,但是不允许数组元素重复。因此,我们可以使用Set对象来实现数组去重。
let arr = [1, 2, 2, 3, 3, 4, 5, 5];
let uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr);
// [1, 2, 3, 4, 5]
我们可以使用new Set()
创建一个Set对象,将原始数组转换为Set对象之后,使用Array.from()
方法将Set对象转换为数组,即可得到去重之后的数组。
使用indexOf()
方法可以检测一个元素在数组中第一次出现的位置,如果两个元素在数组中第一次出现的位置不同,那么这两个元素就不相同。因此,我们可以通过使用indexOf()
方法来实现数组去重。
let arr = [1, 2, 2, 3, 3, 4, 5, 5];
let uniqueArr = [];
for (let i = 0; i < arr.length; i++) {
if (uniqueArr.indexOf(arr[i]) === -1) {
uniqueArr.push(arr[i]);
}
}
console.log(uniqueArr);
// [1, 2, 3, 4, 5]
我们可以使用for
循环遍历原始数组中的每一个元素,判断其在去重后的数组中是否存在,如果不存在,就将其加入到去重后的数组中。这样就可以得到一个去重之后的数组。
假设有如下的一个数组:
let arr = [1, 2, 2, 3, 3, 4, 5, 5];
let uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr);
// [1, 2, 3, 4, 5]
使用ES6的Set对象和Array.from()
方法,可以快速地得到去重之后的数组,其输出结果为[1, 2, 3, 4, 5]
。
let uniqueArr = [];
for (let i = 0; i < arr.length; i++) {
if (uniqueArr.indexOf(arr[i]) === -1) {
uniqueArr.push(arr[i]);
}
}
console.log(uniqueArr);
// [1, 2, 3, 4, 5]
使用indexOf()
方法和for
循环,可以得到和ES6的Set对象相同的输出结果[1, 2, 3, 4, 5]
,因为这两种方法本质上都是判断元素是否重复,从而得到去重之后的数组。
本文链接:http://task.lmcjl.com/news/10571.html