Array

数组方法里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

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

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)