Array

作者: 白柏更好 | 来源:发表于2017-08-26 11:57 被阅读0次

    数组方法里push、pop、shift、unshift、join、splice分别是什么作用?用 splice函数分别实现push、pop、shift、unshift方法

    • 栈方法(push\pop)
      ECMAScript数组可以通过栈方法表现的类似于栈的数据结构LIFO,其中push和pop都发生在栈的顶部。** push方法可以接受任意数量的参数并按顺序添加至数组尾部,并返回修改后的数组长度; pop方法从数组尾部删除最后一项,并减少数组的length值,并返回删除的值。
    • 队列放法(shift\unshift)
      队列的数据结构访问规则是FIFO,shift方法可以删除队首项并返回该项,队列长度减一;UNshift方法可以在队列前添加任意项,并返回新数组的长度。
    • join
      将数组元素通过给定的参数作为连接符连接成一个字符串,而且不会修改原数组的内容
    • splice
      splice方法可以对数组进行删除、插入、替换的操作。splice方法都会返回一个数组,该数组包含了从原始数组中删除的项,如果没有删除任何项则会返回一个空数组
    //push方法
    var color = ["red", "black", "blue"];
    color.splice(color.length, 0, "yellow")
    console.log(color.push)  // ["red", "black", "blue", "yellow"]
    //pop方法
    var color = ["red", "black", "blue"];
    color.splice(color.length-1,1)
    console.log(color) // ["red", "black"]
    //shift方法
    var color = ["red", "black", "blue"];
    color.splice(0,1)
    console.log(color)   // ["black", "blue"]
    //unshift方法
     var color = ["red", "black", "blue"];
    color.splice(0,0,"yellow")
    console.log(color)   // ["yellow", "red", "black", "blue"]
    

    写一个函数,操作数组,数组中的每一项变为原来的平方,在原数组上操作

    function squareArr(arr){
        for(var i=0; i<arr.length; i++) {
            arr[i]=Math.pow(arr[i],2)
        } return arr
    }
    var arr = [2, 4, 6]
    console.log(squareArr(arr)) // [4, 16, 36]
    

    写一个函数,操作数组,返回一个新数组,新数组中只包含正数,原数组不变

    function filterPositive(arr){
        return arr.filter(function(element){
            return element>0 && typeof element=='number';
        })
    }
    var arr = [3, -1,  2,  '饥人谷', true]
    var newArr = filterPositive(arr)
    console.log(newArr) //[3, 2]
    console.log(arr) //[3, -1,  2,  '饥人谷', true]
    

    相关文章

      网友评论

          本文标题:Array

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