javascript数组去重
知识点:
1. indexOf() 返回某个指定的字符串值在字符串中首次出现的位置,如果没有找到返回-1。需要注意的是**区分大小写**
"Blue Whale".indexOf("Blue"); // returns 0
"Blue Whale".indexOf("blue") // returns -1
"Blue Whale".indexOf("Whale", 5); // returns 5
2. push() 向数组的末尾添加一个或多个元素,并返回新的长度。需要注意的是**新元素将添加在数组的末尾**,并且此方法**改变数组的长度**。
具体实现如下
var arr = ['abc','abcd',333,'sss','2','d',111,'t','2','ss','f','22','d',111];
//创建一个新数组
var arr_1=[];
//遍历数组
for(var i=0;i<arr.length;i++) {
if (arr_1.indexOf(arr[i]) == -1) {
arr_1.push(arr[i]); //判断在arr_1数组中是否存在,不存在则push到arr_1数组中
}
}
console.log(arr_1); //输出结果["abc", "abcd", 333, "sss", "2", "d", 111, "t", "ss", "f", "22"]
3. 还可以用es6新增的Set来实现,Set是一种数据结构,它和数组非常相似,但是成员的值都是唯一的。我们可以先把它转化成Set,再配合...解构运算符重新转化为数组,达到去重的目的。
具体实现如下
const arr = [1, 1, 2, 2, 3, 4, 5, 5]; const arr_1 = [...new Set(arr)]; console.log(arr_1); // 输出[1, 2, 3, 4, 5]

浙公网安备 33010602011771号