js扩展运算符,神奇的3个点点,数组去重、合并数组等等

最近lz一周排了9个面试,面试经常被问到一些数组的问题,比如说es6里面一些数组去重、合并数组,之前压根就没了解过,后来才知道考的都是es6的知识,今天好好挖掘一下,发现一个神奇的点点三姐妹

我们来看看经常使用的方法

1、数组去重

之前的想法可能要遍历数组去重,但是现在又es6的骚操作
    var a = [1,1,2,3]
    Array.from(new Set()) // 利用es6特性去重方法
    [...new Set(arr)]  // 利用js扩展运算符的骚操作
    
    

2、将一个数组放入另一个数组(打散数组)

    var a = [1,2]
    var b = [a,3,4]
    console.log(b) // [[1,2],3,4]
    
    // 如果使用扩展运算符
    var b = [...a, 3,4]
    console.log(b) // [1,2,3,4]

3、复制数组(不会改变原数组)

    var a = ['1','2','3']
    var b = [...a]
    console.log(b) // ['1','2','3']  
    a数组中的元素扩展为单独元素被分配到b中,可以随意改变b数组,且不会对a产生影响。
    

4、 拼接数组(替换concat)

    var a = [1,2,3]
    var a = [4,5,6]
    a  = [...a, ...b]
    console.log(a) // [1,2,3,4,5,6]

5、 Math

    var a = [1,2,3,4,5]
    var max = Math.max(...a)
    console.log(max) // 5
    

6、字符串转换为数组

    var a = 'helloworld'
    var b = [...a]
    console.log(b) // ['h','e','l','l','o','w','o','r','l','d']



你可能感兴趣的