for each\map\indexOf()\filter\reduce

1、indexOf()
返回数组中第一个找到的元素位置,不存在返回-1
a1=['ab',23,45,67]
a1.indexOf("ab")

2、forEach
数组.forEach(function(当前元素值,当前元素索引,数组对象){})


3、map
对数组每一项进行遍历
a1=[3,4,5,6] 生成 a2=[6,8,10,12]
var a2=a1.map(function(item,index,arr){
    return item*2
})
console.log(a2)
********map与forEach区别************
1、forEach只是遍历,map生成新数组
2、map比forEach速度快
3、map可以链式调用


4、filter数据过滤
arr.filter(function(当前元素值,当前元素索引,数组对象){})
(1)返回新数组,不对原数组修改
(2)对返回“true”的结果过滤,false的结果忽略
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=[3,4,5,6,7],reduce实现数组平方和

6、some判断元素组是否有满足条件的元素
(1)arr.some(funtion(当前元素值,当前元素索引,数组对象){})
(2)函数内部,返回true,找到了满足条件的元素,则循环结束
            返回false,没找到,循环继续
(3)函数的执行次数不一定等于数组长度
a1=[10,30,60]判断数组是否有大于20的元素
a1.some(function(item,index,arr){
    return item>20
})

7、every:检测所有数组中所有元素是否都满足
(1)arr.every(funtion(当前元素值,当前元素索引,数组对象){})
(2)有一项不满足就返回false,都满足才返回true
(3)函数的执行次数不一定等于数组的长度
a1=[10,30,5,60]判断这个数组是否都大于0
a1.every(function(item){
    return item>0
})


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值