“JavaScript中数组去重的5种方法”是一个常见的问题,本文将详细讲解五种不同的去重方法。
方法一:使用ES6的Set
ES6中新增的Set是一种数据结构,可以用于存储任何类型的唯一值。我们可以使用Set去重一个数组,然后再将其转换为数组类型。
let arr = [1, 2, 2, 3, 3, 4, 5];
let uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr); // [1, 2, 3, 4, 5]
方法二:使用for循环
我们可以使用双层循环来遍历数组,将重复的元素移除。
let arr = [1, 2, 2, 3, 3, 4, 5];
let newArr = [];
for(let i=0;i<arr.length;i++){
let exist = false;
for(let j=0;j<newArr.length;j++){
if(newArr[j] === arr[i]){
exist = true;
break;
}
}
if(!exist){
newArr.push(arr[i]);
}
}
console.log(newArr); //[1, 2, 3, 4, 5]
方法三:使用indexOf()
使用indexOf()方法可以快速判断元素是否在数组中存在。
let arr = [1, 2, 2, 3, 3, 4, 5];
let 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]
方法四:使用sort()
我们可以先使用sort()方法对数组进行排序,然后再遍历数组,将重复的元素移除。
let arr = [1, 2, 2, 3, 3, 4, 5];
arr = arr.sort();
let newArr = [];
for(let i=0;i<arr.length;i++){
if(arr[i] !== newArr[newArr.length-1]){
newArr.push(arr[i]);
}
}
console.log(newArr); //[1, 2, 3, 4, 5]
方法五:使用reduce()
reduce()方法可以用于处理数组,将其简化为一个值。我们可以使用reduce()方法遍历数组,将重复的元素移除。
let arr = [1, 2, 2, 3, 3, 4, 5];
let newArr = arr.reduce((prev, cur) => {
if(!prev.includes(cur)){
prev.push(cur);
}
return prev;
}, []);
console.log(newArr); //[1, 2, 3, 4, 5]
在这里,我们使用了 5 种不同的方法进行数组去重。根据实际需求,你可以选择任何一种去重方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript中数组去重的5种方法 - Python技术站