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
的误判。