目录
什么是数组去重?
把重复多余的元素剔除掉,我们常利用以下方法去重,方法很多,随便列举两种
1.利用sort排序去重
var arr3 = [1, 3, 5, 2, 1, 4, 3, 1, 2, 5, 3, 1, 2, 1];
function repart(arr) {
// 利用sort排序
arr = arr.sort();
// 创建新数组
var brr = [];
// 遍历数组
for (var i = 0; i < arr.length; i++) {
// 判断语句
if (arr[i] !== arr[i - 1]) {
brr.push(arr[i])
}
}
return brr;
}
console.log(repart(arr3));
2.利用indexOf去重
var arr2=[1,3,5,2,1,4,3,1,2,5,3,1,2,1];
// 函数封装,封装用起来更方便
function repart(arr){
// 创建新数组
var brr=[];
// 遍历数组
for(i=0;i<arr.length;i++){
// 判断语句
// indexOf()返回-1时,说明没有重复,如果有返回索引值
if( brr.indexOf(arr[i])==-1 ){
// 不重复在新数组中追加新元素
brr.push(arr[i])
}
}
return brr;
}
console.log(repart(arr2));
3.new Set
var arr1=[1,3,5,2,1,4,3,1,2,5,3,1,2,1];
// 调用new Set函数 返回对象
// 把对象转数组 [...new Set()] Array.from(new Set())
console.log(new Set(arr1));
// 把对象转换数组1
console.log(Array.from(new Set(arr1)));
// 把对象转换数组2
console.log([...new Set(arr1)]);