javascript数组

js中的数组很基础,今天写下此文的原因是本人总是把slice和splice搞混,所以特此记下一笔,算是做个总结。
let arr = [1,2,3,4]

常用方法

  arr.push('5')  //数组尾部添加元素    [1,2,3,4,5]
  arr.unshift('0')    //数组头部添加元素   [0,1,2,3,4]
  arr.pop()   //数组尾部删除元素并返回删除的值(如果数组为空则返回undefined) 
  arr.shift()   //删除数组头部的元素 返回值同arr.pop()
  arr.join(',')  //  以',' 为连接符将数组元素拼接成字符串
  arr.concat([5,6])  //拼接多个数组并返回新的数组
  arr.slice(start,[end])   //截取数组中的一部分但不包括end索引值所在的元素,改方法不会修改原数组但会返回截取的数组
  arr.splice(index,count,item)   //splice方法很强大, 可以添加、删除数组元素。它会修改原数组,并以数组的形式返回删除的值,如果没有删除则返回空数组

遍历数组

  1. for

    for(let i = 0; i }
  2. map

    //map方法返回一个执行callback方法后的新数组
    let newArr = arr.map((item,index)=>{
    return item*2;
    }) // newArr [2,4,6,8]
  3. filter

    //filter方法返回满足callback回调函数的新数组
    let newArr = arr.filter((item)=>{
    return item>2;
    })
  4. for of

    // for of方法是ES6新增的方法
    for(let item of arr){
    console.log(item) //1,2,3,4
    }

ES6新增的常用方法

  1. arr.keys() 对键名的遍历也就是数组的索引值

    for(let index of arr.keys()){
    console.log(index); //0,1,2,3
    }
  2. arr.values() 对键值的遍历也就是数组的元素

    for(let val of arr.values()){
    console.log(val) // 1,2,3,4
    }
  3. arr.entries() 对键值对的遍历

    for(let [index,val] of arr.entries()){
    console.log(index,val)
    // 0,1
    // 1,2
    // 2,3
    // 3,4
    }
  4. arr.includes() 判断数组是否包含某一个元素 返回值 Boolean

    arr.includes(1) //true
    最大的好处是可以判断是否存在NaN
    let array = [1,2,3,4,NaN]
    array.indexOf(NaN) // -1
    array.includes(NaN) //true

扩展方法

利用Array.prototype扩展自定义方法

    Array.prototype.sum = function(){
        let count = 0;
        for(let i = 0; i<this.length; i++){  //this只想实例化对象
            count += this[i];
        }
        return count;
    }   
    arr.sum()  // 10

你可能感兴趣的:(js,es6)