美文网首页
飞飞H5面试宝典(2020)

飞飞H5面试宝典(2020)

作者: 两朵小黑云 | 来源:发表于2020-07-22 17:55 被阅读0次

前端面试如何能更优雅(装bei)的回答问题呢?

数组去重

不会还有人用for循环加indexOf吧,不会吧,不会吧,阿sir!

let arr = [1, 2, 3, 3, 4, 5, 5, 6]
let newArr = arr.filter((item, index, self) =>
    index === self.indexOf(item)
)
console.log(newArr) // [ 1, 2, 3, 4, 5, 6 ]

let newArr2 = Array.from(new Set(arr))
let newArr3 = [...new Set(arr)]

console.log(newArr2) // [ 1, 2, 3, 4, 5, 6 ]
console.log(newArr3) // [ 1, 2, 3, 4, 5, 6 ]
console.log(arr) // [1, 2, 3, 3, 4, 5, 5, 6]

还有没有更装bei得? 答案是·肯定的

let arr = [1,2,1,2,3,5,4,5,3,4,4,4,4];
let result = arr.sort().reduce((init, current) => {
    if(init.length === 0 || init[init.length-1] !== current) {
        init.push(current);
    }
    return init;
}, []);
console.log(result); //[1,2,3,4,5]

如果你对reduce()的写法·感到不解,请移步 reduce (基础篇)讲到你会为止
持续更新中...

相关文章

网友评论

      本文标题:飞飞H5面试宝典(2020)

      本文链接:https://www.haomeiwen.com/subject/mmutlktx.html