JavaScript中数组的常用方法总结

一、转换方法

1.toString():

返回数组的字符串表示,每个值的字符串表示拼接成一个字符串,中间用逗号隔开

var arr = ["red","yellow","blue"];
alert(arr.toString());     //red,yellow,blue

2.valueOf():

调用结果和toString()一样

var arr = ["red","yellow","blue"];
alert(arr.valueOf());     //red,yellow,blue

3.toLocaleString():

该方法经常会返回与toString()和valueOf()方法相同的值,不同之处在于它调用的是每一项的toLocaleString()方法

4.join():

该方法可以将数组转化成字符串,默认情况下会以逗号分隔的字符串形式返回数组项,只接收一个参数,用作分隔符的字符串

var arr = ["red","yellow","blue"];
alert(arr.join(“||”));     //red||yellow||blue

二、栈方法

1.push():

可以接收任意数量的参数,把它们逐个添加到数组末尾,返回新数组的长度

2.pop():

从数组末尾移除最后一项,减少数组的length值,返回被删除项

三、队列方法

1.shift():

移除数组第一项数组长度减一,返回给删除项

2.unshift();

可以接收任意数量的参数,把它们逐个添加到数组前端,返回新数组的长度

四、重排序方法

1.reverse():

翻转数组的顺序

var arr=[1,2,3,4,5];
alert(arr.reverse());    //5,4,3,2,1

2.sort():

默认情况下sort()会调用数组每一项的toString()方法,然后比较得到的字符串,按升序排列

var arr = [ 15, 11, 22,5,3];
alert(arr.sort());     //1,15,22,3,5

这样的排序显然是不正确的,sort()方法可以接收一个比较函数作为参数,以便我们指定哪个值位于哪个值前面,
function compare(value1,value2){
        if(value1<value2){
               return -1;
        }else if(value1>value2){
                  return 1;
        }else{
                return 0;
         }
}
可以简化为:

function compare(value1,value2){
        return value1-value2;
    }
    var arr = [3,1,15,22];
    alert(arr.sort(compare));     //1,3,15,22

五、操作方法

1.concat():

复制当前数组的一个副本,然后将接收到的参数添加到数组的末尾,返回新构建的数组。

2.slice();

可以接收一个或两个参数,即要返回项的起始和结束位置。只有一个参数时,slice方法返回从指定位置到数组末尾的所有项,如果有两个参数,该方法返回起始和结束位置之间的项(不包括结束位置的项),不会影响原始数组。

注意:如果slice()方法中的参数有一个是负数,则用数组长度加上slice来确定相应的位置,如果计算的结束位置小于开始位置,返回空数组。

3.splice():

(1)删除:2个参数,删除第一项的位置和要删除的项数

(2)插入:3个参数,起始位置,0(要删除的项数),要插入的项

(3)替换:3个参数,起始位置,要删除的项数和要插入的任意数量的项。

返回一个数组,该数组中包含从原始数组中删除的项,若没有删除,则返回空数组。

六、位置方法

1.indexOf():

2个参数,要查找的项和表示查找起点未知的索引,返回项在数组中的位置,没找到返回-1(查找过程中使用权等操作符)

2.lastIndexOf():

2个参数,要查找的项和表示查找起点未知的索引,返回项在数组中的位置,没找到返回-1,从数组末尾开始查找(查找过程中使用权等操作符)

七、迭代方法:

1.every():

对数组中的每一项运行给定函数,若数组的每一项都返回true,则返回true。

2.filter():

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

3.forEach():

对数组中的每一项运行给定函数,无返回值。

4.map():

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

5.some():

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

八、归并方法

1.reduce():

从数组的第一项开始,遍历整个数组。

两个参数:每一项上调用的函数,归并的初始值(可选)。

传入reduce()的函数接收四个参数:前一个值,当前值,项的索引和数组对象。

var arr = [3,1,15,22];
    var sum = arr.reduce(function(prev,cur,index,array){
        return prev + cur;
    })
    alert(sum);     //41


2.reduceRight():

从数组的最后一项开始,向前遍历到第一项。

两个参数:每一项上调用的函数,归并的初始值(可选)。

传入reduceRight()的函数接收四个参数:前一个值,当前值,项的索引和数组对象。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值