Array数组的方法总结
栈方法
① push():接受任意数量的参数,添加到数组末尾。
② pop():移除数组中的最后一项。
队列方法
③ shift():移除数组中的第一项。
④ unshift():接受任意数量参数,添加到数组前端。
重排序方法
⑤ reverse():数组排序反转,只反转数组顺序,不按照大小排序。
⑥ sort():默认按升序排序,既最小值在前面,依次最大值在后面,需接收一个比较函数才能达到排序的最佳结果。
升序如下:
function compare(value1, value2) {
if (value1 < value2) {
return -1;
}else if (value1 > value2) {
return 1;
}else {
return 0;
}
}
降序如下:
function compare(value1, value2) {
if (value1 < value2) {
return 1;
}else if (value1 > value2) {
return -1;
}else {
return 0;
}
}
操作方法:
⑦ concat():复制数组中的项,创建一个新数组,并可传递多个参数,添加到副本数组末尾。
⑧ slice():基于当前数组创建一个新数组,可接受的参数,(起始位置,结束位置)。
⑨ splice():可删除,添加,替换操作,接收的参数,(起始位置,要删除的项(0表示不删除),添加项(可以多个))。
位置方法:
⑩ indexOf():查找所需的项,返回该项的索引(索引从0开始),可接受的参数(查找项,查找起点的位置(可选))。
11. lastIndexOf():从数组末尾向前查找项,返回该项在数组中的索引位置,接收参数(查找项,起点位置从后开始)。
12. 迭代方法,都接受的参数,(每一项运行的函数(接收的参数,item(数组项),index(索引项),array(数组对象)),(可选)运行该函数的作用域对象——影响this的值)。
every():传入的函数对数组中的每一项返回true时,这个方法才返回true。
some():与every()方法相似,但只要对数组中的某一项返回true ,这个方法就会返回true 。
filter():相当于过滤对数组中返回false的项,返回true的项创建一个新数组。
map():对数组中的每一项进行操作,并返回一个新的数组。
13.归并方法
reduce():参数中的函数接收的参数(前一个值,当前值,项的索引,数组对象)
reduceRight():接收的参数与reduce ()一样,但操作方向是相反,从数组末尾开始执行。
终于总结完啦,手机打了一个小时多,不容易。