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