数组的方法

原创 Haroro 随笔 js 46阅读 25 天前 举报

1.concat():

连接两个数组并返回一个新的数组。

2.join(deliminator = ','):

将数组的所有元素连接成一个字符串。

3.push():

在数组末尾添加一个或多个元素,并返回数组操作后的长度。

4.pop():

从数组移出最后一个元素,并返回该元素。

5.shift():

从数组移出第一个元素,并返回该元素。

6.unshift():

在数组开头添加一个或多个元素,并返回数组的新长度。

7.slice(start_index, upto_index):

从数组提取一个片段,并作为一个新数组返回。

8.splice(index, count_to_remove, addElement1, addElement2, ...):

从数组移出一些元素,(可选)并替换它们。

9.reverse():

颠倒数组元素的顺序:第一个变成最后一个,最后一个变成第一个。

10.sort() :

给数组元素排序。

11.sort():

也可以带一个回调函数来决定怎么比较数组元素。这个回调函数比较两个值,并返回3个值中的一个:

例如,下面的代码通过字符串的最后一个字母进行排序:

12.indexOf(searchElement[, fromIndex]):

在数组中搜索searchElement 并返回第一个匹配的索引。

13.lastIndexOf(searchElement[, fromIndex]):

和 indexOf 差不多,但这是从结尾开始,并且是反向搜索。

14.forEach(callback[, thisObject]):

在数组每个元素项上执行callback。

15.map(callback[, thisObject]):

在数组的每个单元项上执行callback函数,并把返回包含回调函数返回值的新数组(译者注:也就是遍历数组,并通过callback对数组元素进行操作,并将所有操作结果放入数组中并返回该数组)。

16.filter(callback[, thisObject]):

返回一个包含所有在回调函数上返回为true的元素的新数组(译者注:callback在这里担任的是过滤器的角色,当元素符合条件,过滤器就返回true,而filter则会返回所有符合过滤条件的元素)。

17.every(callback[, thisObject]):

当数组中每一个元素在callback上被返回true时就返回true(译者注:同上,every其实类似filter,只不过它的功能是判断是不是数组中的所有元素都符合条件,并且返回的是布尔值)。

18.some(callback[, thisObject]):

只要数组中有一项在callback上被返回true,就返回true(译者注:同上,类似every,不过前者要求都符合筛选条件才返回true,后者只要有符合条件的就返回true)。

以上方法都带一个被称为迭代方法的的回调函数,因为他们以某种方式迭代整个数组。都有一个可选的第二参数 thisObject,如果提供了这个参数,thisObject 变成回调函数内部的 this 关键字的值。如果没有提供,例如函数在一个显示的对象上下文外被调用时,this 将引用全局对象(window).

实际上在调用回调函数时传入了3个参数。第一个是当前元素项的值,第二个是它在数组中的索引,第三个是数组本身的一个引用。 JavaScript 函数忽略任何没有在参数列表中命名的参数,因此提供一个只有一个参数的回调函数是安全的,例如 alert 。

19.reduce(callback[, initialValue]):

使用回调函数 callback(firstValue, secondValue) 把数组列表计算成一个单一值(译者注:他数组元素两两递归处理的方式把数组计算成一个值)

20.reduceRight(callback[, initalvalue]):

和 reduce()相似,但这从最后一个元素开始的。

reduce 和 reduceRight 是迭代数组方法中最不被人熟知的两个函数.。他们应该使用在那些需要把数组的元素两两递归处理,并最终计算成一个单一结果的算法

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复