// 数组去重1:
var arr = [1, 6, 6, 6, 3, 9, 4, 9, 3, 8, 2, 2]
var newArr = []
console.log(arr, '原数组');
var flag
for (let i = 0; i < arr.length; i++) {
flag = true
for (let j = i + 1; j < arr.length; j++) {
if (arr[i] === arr[j]) {
flag = false
}
}
if (flag) newArr.push(arr[i])
}
console.log(newArr);
// 数组去重2
// Set 是唯一值的集合。每个值在 Set 中只能出现一次。一个 Set 可以容纳任何数据类型的任何值
var arr = [1, 6, 3, 9, 4, 9, 3, 8, 2]
function getUniqueArray2() {
var result = Array.from(new Set(arr))
console.log(result);
}
getUniqueArray2()
// 数组去重3
// res.indexOf(item) 查找result里是否存在item,不存在则返回-1,存在则返回下标
var arr = [1, 6, 3, 9, 4, 9, 3, 8, 2]
function getUniqueArray3() {
var result = []
arr.forEach((item) => {
// console.log(result.indexOf(item));
if (result.indexOf(item) === -1) result.push(item)
})
console.log(result);
}
getUniqueArray3()
// 数组去重4
// res.indexOf(item) 查找result里是否存在item,不存在则返回-1,存在则返回下标
// indexOf查找的是第一个 item 的索引
var arr = [1, 6, 3, 9, 4, 9, 3, 8, 2]
function getUniqueArray4() {
var result = arr.filter((item, index) => {
return arr.indexOf(item) === index
})
console.log(result);
}
getUniqueArray4()
// 数组去重5
// arr.reduce((pre:上一次返回的结果,item) => { }, 初始值)
// reduce 回调函数中第一个参数就是上次返回的那个结果(或初始设置的)
var arr = [1, 6, 3, 9, 4, 9, 3, 8, 2]
function getUniqueArray5() {
var result = arr.reduce((pre, item) => {
return pre.includes(item) ? pre : [...pre, item] // pre.push(item) 类数组,不能push ?
}, [])
console.log(result);
}
getUniqueArray5()
// 数组去重6
// Object.keys(result) 获取对象里的所有索引
//
var arr = [1, 6, 3, 9, 4, 9, 3, 8, 2]
function getUniqueArray6() {
var result = {}
arr.forEach((item, index) => {
result[arr[index]] = item
});
result = Object.keys(result).map(item => item - 0)
console.log(result);
}
getUniqueArray6()
js数组去重的几种方法
最新推荐文章于 2024-06-01 07:27:22 发布