美文网首页
数组的pop,push,shift,unshift()分别是什么

数组的pop,push,shift,unshift()分别是什么

作者: 泡杯感冒灵 | 来源:发表于2020-07-25 14:29 被阅读0次

    功能

    pop 删除并返回数组的最后一个元素
    push 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
    shift 删除并返回数组的第一个元素
    unshift 向数组的开头添加一个或更多元素,并返回新的长度。

    数组的其他方法

    concat 连接两个或多个数组,并返回结果

    [1,2].concat([3,4])
    [1, 2, 3, 4]
    [1,2].concat([3,4],[5,6])
    [1, 2, 3, 4, 5, 6]
    

    reverse 颠倒数组中元素的顺序

    [1,2,3,4,5].reverse()  //  [5, 4, 3, 2, 1]
    

    sort 对数组的元素进行排序

    [3,5,2,1,4].sort()  // [1, 2, 3, 4, 5]
    

    slice 返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。

    // 第一个参数是 必需。规定从何处开始选取;第二个参数,可选。规定从何处结束选取
    
    [1,2,3,4,5].slice(1,3)   // [2,3]
    

    splice 方法向/从数组中添加/删除项目,然后返回被删除的项目数组。该方法会改变原始数组。
    splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。

    var arr = ['a','b','c']
    arr.splice(1)  //从下标为1的地方开始删除元素,一直删除到最后
    arr  //['a']   原数组被修改,只剩下了一个元素
    
    var arr2 = ['a','b','c','d']
    arr2.splice(2,0,'e','f')   // ["a", "b", "e", "f", "c", "d"]  这句话的意思是,从下标为2的地方开始插入元素,因为0标识一个元素都不删除,后边的`e`,`f`为插入的元素
    
    arr2.splice(3,3)  //  ["f", "c", "d"] 这里的意思是,从下标为3的位置开始删除元素,删除3个元素
    
    

    数组的纯函数方法,有哪些?

    纯函数:1.不会改变原数组(没有副作用);2.返回一个数组

    const arr = [10, 20, 30, 40]
    
    const arr1 = arr.concat([50, 60])
    console.log(arr1)  // [10, 20, 30, 40, 50, 60]
    console.log(arr)  // [10, 20, 30, 40]
    
    // map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
    const arr2 = arr.map(num => num * 10)
    console.log(arr2)   //[100, 200, 300, 400]
    console.log(arr)   // [10, 20, 30, 40]
    
    const arr3 = arr.filter(num => num > 25)
    console.log(arr3)    //  [30, 40]
    console.log(arr)    // [10, 20, 30, 40]
    
    const arr4 = arr.slice(1, 2)
    console.log(arr4)  // [20]
    console.log(arr)   // [10, 20, 30, 40]
    
    

    非纯函数

    1. pop
    2. push
    3. shift
    4. unshift
    5. splice
    6. sort
    7. reverse
      ...

    相关文章

      网友评论

          本文标题:数组的pop,push,shift,unshift()分别是什么

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