数组方法

2018-11-06  本文已影响0人  2019吖

数组转以逗号相隔的字符串toString() 和valueOf(),使用join()方法可以使用其他分隔符,例如colors.join("||")


concat()  将参数拼接到当前数组的副本上


slice() 可传1个或者2个参数,传1个参数时,返回从该参数指定位置开始到当前数组末尾的所有项;如果有两个参数,该方法返回起始和结束位置之间的项,但不包括结束位置的项


splice()删除:传两个参数,起始项和删除项数,例如splice(0,2)会删除数组的前两项

splice()插入:传3个参数,起始位置、0(要删除的项数)、插入的项,插入项可传多个,例如splice(2,0,"red","green"),会将数组从第二项位置开始插入字符串"red"和"green"

splice()替换:基于插入,将第二个参数改成要删掉的项数,例如splice(2,1,"red","green"),这样会删除位置为2的项,用"red"和"green"替换,注意:删除和新增项数不必相同


位置方法:indexOf() 和 lastIndexOf():要查找的项和表示查找起点位置的索引(可选的)


迭代方法:

every() :对数组中的每一项运行给定函数,如果该函数对每一项都返回 true ,则返回 true 。

filter() :对数组中的每一项运行给定函数,返回该函数会返回 true 的项组成的数组。

forEach() :对数组中的每一项运行给定函数。这个方法没有返回值。

map() :对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。

some() :对数组中的每一项运行给定函数,如果该函数对任一项返回 true ,则返回 true 。

使用方法:每个方法都接收两个参数:要在每一项上运行的函数和(可选的)运行该函数的作用域对象——影响 this 的值。传入这些方法中的函数会接收三个参数:数组项的值、该项在数组中的位置和数组对象本身。

var colors = [1,3,5,7,2,9,3];

var everyColors = colors.every(function(item,index,arr)

    {  return (item>2);}

)


归并方法:reduce() 和 reduceRight()从结尾遍历数组,使用哪个主要取决于要从哪头开始遍历数组   

使用方法:这两个方法都接收两个参数:一个在每一项上调用的函数和(可选的)作为归并基础的初始值。传给 reduce() 和 reduceRight() 的函数接收 4 个参数:前一个值、当前值、项的索引和数组对象。这个函数返回的任何值都会作为第一个参数自动传给下一项。第一次迭代发生在数组的第二项上,因此第一个参数是数组的第一项,第二个参数 就是数组的第二项。

var values = [1,2,3,4,5];

var sum = values.reduceRight(function(prev, cur, index, array)

    {    return prev + cur;}

);

alert(sum); //15

上一篇下一篇

猜你喜欢

热点阅读