数组的常见方法

方法名方法的作用
concat连接2个或更多数组,并返回结果
every对数组中的每一项运行给定函数,如果该函数对每一项都返回 true,则返回true, 否则返回false
filter对数组中的每一项运行给定函数,返回该函数会返回 true的项组成的数组
forEach对数组中的每一项运行给定函数。这个方法没有返回值
join将所有的数组元素连接成一个字符串
indexOf返回第一个与给定参数相等的数组元素的索引,没有找到则返回-1
lastIndexOf返回在数组中搜索到的与给定参数相等的元素的索引里最大的值
map对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
reverse颠倒数组中元素的顺序,原先第一个元素现在变成最后一个,同样原先的最后一个元素变成了现在的第一个
slice传入索引值,将数组里对应索引范围内的元素作为新数组返回
some对数组中的每一项运行给定函数,如果任一项返回 true,则结果为true, 并且迭代结束
sort按照字母顺序对数组排序,支持传入指定排序方法的函数作为参数
toString将数组作为字符串返回
valueOf和 toString类似,将数组作为字符串返回

为了方便操作数组,有很多迭代器方法,列子如下:

//some方法,flag为true
     var names = ["abc", "cb", "mbay", "dna"];
            var flag = names.some(function(a){
                return a.indexOf('y')!==-1;
            })
              alert(flag)


//every方法,flag为flase
 var names = ["abc", "cb", "mbay", "dna"];
 var flag = names.every(function(t){
             return t.indexOf('a')!==-1;
         })
         alert(flag)


//forEach:遍历数组中的每一个值
 names.forEach(function (t) {
            alert(t)
        })


 //map方法:数组中的每一个值后会加一个“-zqy”
        var newNames = names.map(function (t) {
            return t + "-zqy"
        })

//filter方法:将数组中含有字符'a'的值筛选出来
 var aName = names.filter(function(t){
            return t.indexOf('a')==-1;
        })

reduce方法比较复杂,方法中的callback(一个在数组中每一项上调用的函数,接受四个参数:

  1. previousValue(上一次调用回调函数时的返回值,或者初始值)
  2. currentValue(当前正在处理的数组元素)
  3. currentIndex(当前正在处理的数组元素下标)
  4. array(调用reduce()方法的数组)

除了回调函数外,reduce还接受一个参数:
initialValue(可选的初始值。作为第一次调用回调函数时传给previousValue的值)

var arr1 = [3,6,8,10];
    var total =  arr1.reduce(function(pre,cur){
       return pre + cur
   },7)//其中7是initialValue,这里我们设为7,即total的值为7+3+6+8+10

参考文献:https://www.jianshu.com/p/9521594710d7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值