ES3数组方法:
添加:
push()
unshift()
concat()
删除
pop()
shift()
子数组
splice(start: int, deleteCount: int, items…: any)
splice() 方法用于添加或删除数组中的元素。
注意:这种方法会改变原始数组。
slice(start, end)
数组排序
reverse()
sort(compareFn: Function)
功能:
对字符数组或数字数组进行排序
特性:
默认按字符串比较。
按数值大小比较,需函数支持
function compare(val1,val2) {
if(val1 < val2) {
return -1;
} else {
return 1;
}}
数组转换
toString()
toLocaleString()
join(separator: string)
ES5数组方法:
位置方法
indexOf(searchString: string, position?: int)
从数组的起始位置开始查找。
方法可返回数组中某个指定的元素位置;
如果要检索的元素没有出现,则该方法返回 -1。
lastIndexOf(searchString: string, position?: int)
从数组的结束位置开始查找。如果要检索的元素没有出现,则该方法返回 -1。
参数1:【必须】
必需。规定需检索的字符串值。
参数2:【可选】
可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的最后一个字符处开始检索。
迭代方法
每个方法都接收两个参数:要在每一项上运行的函数和运行该函数的作用域对象——影响this的值(可选的)。传入这些方法中的函数会接收三个参数:1、数组项的值;2、该项在数组中的位置;3、数组对象本身。
根据使用的方法不同,这个函数执行后的返回值可能会也可能不会影响方法的返回值。
every
filter
forEach
无返回值,方法用于调用数组的每个元素,并将元素传递给回调函数。
注意: forEach() 对于空数组是不会执行回调函数的。
语法:
array.forEach(function(currentValue, index, arr), thisValue)
参数1:
function(currentValue, index, arr):必需。 数组中每个元素需要调用的函数。
currentValue:必需。当前元素
index:可选。当前元素的索引值。
arr:可选。当前元素所属的数组对象。
参数2;
thisValue:可选。传递给函数的值一般用 “this” 值。
如果这个参数为空, “undefined” 会传递给 “this” 值
map
返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
some
归并方法
reduce
从数组起始位开始遍历
定义和用法
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
注意: reduce() 对于空数组是不会执行回调函数的。
语法
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
reduceRight
从数组末尾开始遍历
这两个方法都接收两个参数:一个在每一项上调用的函数和(可选的)作为归并基础的初始值。
函数接收4个参数:1、前一个值;2、当前值;3、项的索引;4、数组对象;