首页 > 技术文章 > 数组方法

szzlily 2018-10-24 15:47 原文

  arr.join(seperator)

  把数组转为字符串并以seperator连接数组内元素,不改变原数组

  省略参数的join方法返回值同arr.toString()返回值,即返回以逗号连接数组内元素的字符串

  

arr.toString()  

  返回以逗号连接数组内元素的字符串,不改变原数组

arr.concat()  

  不改变原数组

  注意:1)如果拼接数组,则先打散数组再拼接

     2)arr.concat()和arr.concat([])可实现数组的浅复制  

   

arr.slice()

  不改变原数组

  注意:

    1)含头不含尾

    2)arr.slice()和arr.slice(0)可用于数组的浅层复制

    3)arr.slice(0,-2)参数可为负值

  

 

arr.splice()

  返回截取的元素,改变原数组

  

arr.reverse()

  翻转数组,改变原数组,返回翻转过的原数组

  

arr.sort(sortBy)

  排序,按字符编码的顺序进行排序,改变原数组,返回排序过的原数组

  

   可自定义排序函数  

  arr.sort(function(a,b){

      return a-b;

  });

arr.push()

  向数组末尾添加元素,改变原数组

  

  

 

arr.pop()

  弹出数组最后一个元素,改变原数组

  

  

 

arr.unshift()

  向数组开头位置添加元素,改变原数组

  

  

 

arr.shift()

  返回数组中第一个元素,改变原数组

  

  

 

arr.indexOf(val,fromi)

  从下标i开始往后找,在数组中的第一个的索引

  

  

 

arr.lastIndexOf(val,fromi)

  从下标i开始往前找,在数组中的最后一个的索引

  

  

 arr.includes()

  ES6新增方法,返回一个布尔值,表示某个数组是否包含给定的值

  

  

  补充:

    与indexOf方法相比,indexOf方法有两个缺点,一是不够语义化,它的含义是找到参数值的第一个出现位置,所以要去比较是否不等于-1,表达起来不够直观。二是,它内部使用严格相等运算符(===)进行判断,这会导致对NaN的误判。

     

 

推荐阅读