数组函数(js)

1.indexOf()
返回数组中第一个找到元素的位置,不存在返回-1
 // a1=['ab',23,45,67,34,67]
        // var a2=a1.indexOf("67")
        // console.log(a2); 
2.forEach
数组.forEach(function(当前元素值,当前元素索引,数组对象){})
var a1=[4,5,6,7,8]
        // a1.forEach(function(item,index,arr) {
        //     console.log(item,index,arr);
            
        // })  //4 0  5 1  6 2  7 3  8 4
3.map map(function(当前元素值,当前元素索引,数组对象){})
都是对数组的每一项进行遍历
     // a1=[3,4,5,6]
        // var a2=a1.map(function(item,index,arr) {
        //     return item*2 
        // })
        链式: .map(function(item){
               return item1*10  //[30,40,50,60]
        })
        // console.log(a2);  //[ 6, 8, 10, 12 ]
map与forEach区别
    forEach只是遍历,map生成新数组
    map比forEach的速度快
    map可以进行链式操作
4.filter
    数据过滤
    arr.filter(function(当前元素值,当前元素索引,数组对象){},初始值(可省略))
    (1)返回新数组,不对原数组修改
    (2)对返回"true"的结果过滤,flase的结果忽略

    a1=[10,30,40,60,80]//提取出大于30的数据
        // a2=a1.filter(function(item){
        //     return item>30
        // })
        // console.log(a2);  //[ 40, 60, 80 ]

5.reduce
接收一个函数作为累加器,数组中的每一个值,从左到右开始缩减,最终计算为一个值
arr.reduce(function(初始值,当前元素值,当前元素索引,数组对象){
})
a1=[1,2,3,4,5]
        a1=["a","b","c",4,5]
        a2=a1.reduce(function(init,currentvalue,index,arr){
           console.log(init,currentvalue,index,arr)
           return init+currentvalue
        })
       console.log(a2)
6.some 判断数组是否有满足条件的元素
arr.some(function(当前元素值,当前元素索引,数组对象){})   
函数内部,返回true,找到了满足条件的元素,则循环结束
        返回flase,没找到,循环继续
函数的执行次数不一定等于数组的长度
 a1=[10,30,40]// 判断数组是否有大于20的元素
        a2=a1.some(function(item,index,arr){
            return item>20     
        })
        console.log(a2);  //true
7.every 
检测数组中所有的元素是否都满足指定条件
arr.every(function(当前元素值,当前元素索引,数组对象){})
有一项不满足就返回flase,都满足才返回true
函数执行次数不等于数组长度
var a1=[10,30,5,60]
        a2=a1.every(function(item) {
             return item>0
        })
        console.log(a2);  //true
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值