let arr = [12, 23, 34, 12, 12, 34, 56, 56, 56, 76]
方法一:set特性,数据不能重复
function one() {
let set = new Set(arr)
let arr1 = [...set]
console.log(arr1);
}
one()
方法二:数组indexOf==-1 ---- indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。
function two() {
let arr1 = []
for (let i = 0; i < arr.length; i++) {
if (arr1.indexOf(arr[i]) == -1) {
arr1.push(arr[i])
}
}
console.log(arr1);
}
two()
方法三:数组双重for循环+splice
function three() {
for (let i = 0; i < arr.length; i++) {
for (let j = i + 1; j < arr.length; j++) {
if (arr[i] == arr[j]) {
arr.splice(j, 1)
j--;
}
}
}
console.log(arr)
}
three()
方法四:对象属性特性
function four() {
let obj = {};
let newArr = [];
for (let i = 0; i < arr.length; i++) {
if (obj[arr[i]]) {
obj[arr[i]]++
} else {
obj[arr[i]] = 1
newArr.push(arr[i])
}
}
console.log(newArr);
}
four()
方法五:数组includes() 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回 false。
function five() {
let newArr = [];
for (let i = 0; i < arr.length; i++) {
if (!newArr.includes(arr[i])) {
newArr.push(arr[i])
}
}
console.log(newArr);
}