ES5:
增加:
push:从后面添加元素,返回值为添加完后的数组的长度
unshift:向数组的开头添加一个或更多元素,并返回新的长度
删除:
pop:从后面删除元素,只能是一个,返回值是删除的元素
shift:从前面删除元素,只能删除一个 返回值是删除的元素
排序:
sort 比较函数的回调函数应该具有两个参数 a 和 b,
return a-b; // 从小到大排序
return b-a; // 从大到小排序
其他:
reverse():数组反转
splice(i,n) 从i(索引值)(自己也删)开始删除n个元素。返回值是删除的元素 改变原数组
splice(i,n,'aa') // 第三个参数是用什么替换
slice(start,end) 切去索引值start到end的数组,不包含end索引的值,返回新数组 不改变原数组
concat() 连接两个数组 返回值为连接后的新数组 在后面合并
ES6:
arr.forEach(callback) 遍历数组,无return 即使有return,也不会返回任何值,改变原数组
callback的参数:
value --当前索引的值
index --索引
array --原数组
arr.map(callback) 映射数组(遍历数组),有return 返回一个新数组 。
callback的参数:
value --当前索引的值
index --索引
array --原数组
arr.filter(callback) 过滤数组,对老数组的过滤,返回一个新的数组
callback的参数:
value --当前索引的值
index --索引
arr.every(callback) 据判断条件,数组的元素是否全满足,全满足则返回true 反之false 不改变原始数组
callback的参数:
value --当前索引的值
index --索引
arr.some(callback) 依据判断条件,数组的元素是否有一个满足,若有一个满足则返回ture
callback的参数:
value --当前索引的值
index --索引
arr.reduce(callback,initialValue) 不设置初始值默认从索引1开始遍历
callback:(pre,cur,index,arr)
- pre 上一次调用回调返回的值,或者是提供的初始值
- cur 本次遍历到的数组成员
- index 本次遍历到的数组成员的索引
- arr 数组本身
initialValue/初始值:作为第一次调用 callback 的第一个参数
arr.reduceRight(callback, initialValue)
与arr.reduce()功能一样,不同的是,reduceRight()从数组的末尾向前将数组中的数组项做累加。
arr.includes(数据,索引) 索引可填可不填
从指定的索引开始,判断arr里有没有指定数据,有返回true,反之false
arr.fill(target, start, end) 使用给定的值,填充一个数组,改变原数组
参数:
target -- 待填充的元素
start -- 开始填充的位置-索引
end -- 终止填充的位置-索引(不包括该位置)
arr.indexOf()
查找某个元素的索引值,用于简单的元素查找
若有重复的,则返回第一个查到的索引值,若不存在,则返回 -1
arr.lastIndexOf()
和arr.indexOf()的功能一样,不同的是从后往前查找
arr.find(callback)
找到第一个符合条件的数组成员,找不到返回undefined
find()对于空数组,函数是不会执行的。find()不会改变原数组
callback参数:
value 当前的item值
index 当前索引
arr 原数组
arr.findIndex(callback)
找到第一个符合条件的数组成员的索引值 找到返回索引值 找不到返回-1
callback参数:
value 当前的item值
index 当前索引
arr 原数组
arr.copyWithin()
在当前数组内部,将制定位置的数组复制到其他位置,会覆盖原数组项,返回当前数组
参数:
target - -必选 表示目标覆盖的开始索引位置
start --可选 表示开始复制的开始元素索引位置,默认为0.如果为负值,则从右往左读。
end --可选 表示结束复制的元素索引位置,
注:不包含最后一个索引元素。默认是Array.length,如果是负值,表示倒数
arr.join(可选的分隔符)
用于把数组中的所有元素按照一定的规则组成一个字符串。
返回一个字符串。该字符串是通过把arr的每个元素转换为字符串,然后把这些字符串连接起来,
在两个元素之间插入可选的分隔符字符串而生成的。
arr1 = [10, 20, 33, 10, 20, 33, 1, 2, 3]
arr1.join('-') "10-20-33-10-20-33-1-2-3"
arr1.join() "10,20,33,10,20,33,1,2,3"
少用:
arr.key() 遍历数组的键名
arr.values() 遍历数组键值
arr.entries() 遍历数组的键名和键值
Array.from():将伪数组变成数组,就是只要有length的就可以转成数组。
Array.of() 将一组值转换成数组,类似于声明数组 '11' -->['11']
toString():把数组转换为字符串