第一组:操作方法
1.concat():基于当前数组,创建一个新的数组,并返回这个新数组,不会改变原数组;
var color = ["red","green","blue"];
var colors2 = color.concat("yellow",["black","brown"]);
2.slice():可以接受一个或两个参数,要返回项的起始和结束位置,返回所截取数组的项,但是不包括结束位置的项,不会改变原数组。
3.splice():主要用法是向数组的中部插入项,会改变原数组,是最强大的数组方法。最多指定3个参数。
使用这种方法的方式主要有以下3种
1.删除:可以删除任意数量的项,指定2个参数,要删除的第一项的位置和要删除的项数。
splice(0,2)删除数组的前两项。
2.插入:指定3个参数:起始位置,0(要删除的项数)和要插入的项。splice(2,0,"red","green")
。
3.替换:可向指定位置插入任意数量的项,splice(2,1,"red","green")
第二组:位置方法
indexOf()和lastIndexOf()。这两个方法都接受两个参数:要查找的项和表示查找起点位置的索引。indexOf()从数组的开头开始向后查找,lastIndexOf()从数组的末尾开始向前查找。
第三组:迭代方法
ES5为数组定义了5个迭代方法,这些方法都不会修改数组中包含的值。
每个方法接受两个参数,要在每一项上运行的函数和运行该函数的作用域对象,传入这些方法中的函数会接收三个参数:数组项的值、该项在数组中的位置和数组对象本身(item,index,array)。
以下是5个迭代器方法的作用
(1)every():对数组的每一项运行给定函数,如果数组的每一项都返回true,则返回true。对数组应用该方法,有返回值为true或false
(2)some():对数组的每一项运行给定函数,如果数组的任一项都返回true,则返回true。对数组应用该方法,有返回值为true或false
(3)filter():对数组的每一项运行给定函数,返回该函数中会返回true的项组成的数组。有返回值,为符合条件的项组成的数组
(4)map()::对数组的每一项运行给定函数,有返回每次函数调用的结果组成的数组。
(5)forEach():对数组的每一项运行给定函数,这个方法没有返回值。本质上与使用for循环迭代数组是一样的。
第四组:归并方法
reduce()和reduceRight()。他们的区别在于从哪头开始遍历数组,除此之外,它们完全相同。
这两个方法都接收两个参宿:一个在每一项上调用的函数和(可选)作为归并基础的初始值。
传给reduce()和reduceRight()的函数接收4个参数:前一个值、当前值、项的索引和数组对象。