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
})