数组去重-前端面试常见问题,10种方法告诉你如何数组去重
热门回复:
- 耕耕技术宅:解决2:
var arr = 【5, 1, 2, 4, 5, 2, 6, 5, 4】;
function getUniqueArray() {
var result = 【】;
loop: for (let i = 0; i < arr.length; i++) {
for (let j = i + 1; j < arr.length; j++) {
if (arr【i】 === arr【j】) {
continue loop;
}
}
result.push(arr【i】);
}
console.log(result);
}
如果有问题,请大家指出!
- 大神乔伊:let arr = 【2, 4, 5, 2, 5】
let ret = arr.filter((item, index) => {
return arr.indexOf(item) === index
})
console.log(ret)
//0 === 0
//1 === 1
//2 === 2
//0 !== 3
//2 !== 4
用indexOf返回值是数组中索引,且只会查1个值的特性
- Hakey168888:我觉得我会用es6的Set
- 小广同学callwo:能不能全用Mac?
- 大神乔伊:let arr = 【5, 1, 2, 4, 5, 2, 6, 5, 4】
let newArr = 【】
for (let i = 0; i < arr.length; i++) {
for (let j = i + 1; j < arr.length; j++) {
if (arr【i】 === arr【j】) {
i++
}
}
newArr.push(arr【i】)
}
console.log(newArr)//【1, 5, 2, 6, 5, 4】 大佬这题有BUG,有些数字无法去重,您看一下,我应该没写错