indexOf()
本来是字符串中字符查找方法,但该方法也是数组的查找元素方法
【格式】数组.indexOf(元素,index);
【参数】元素:要查找的元素;
index:开始查找的位置的下标;
【功能】查找
【返回值】如果在字符串中查找到了子串第一次出现的位置,返回子串出现的位置,否则没有查找到返回-1;
【注】使用的方式和字符串的方式一致;
var arr = [10,20,30,40,50,60];
var temp = arr.indexOf(50);//默认从下标为0开始
document.write(temp + "<br />"); //4
var temp1 = arr.indexOf(50,2);//从下标为3开始查找,还是返回查找元素在数组中的下标
document.write(temp1); //4
var temp2 = arr.indexOf(50,7);//从下标为7开始查找,没有找到返回-1;
document.write(temp2); //-1
forEach()
【原理】将原始数组遍历,并对每一个元素,直接或调用函数处理,将处理完的数据生成一个姓的数组返回;
【格式】
array.map(function(item, index, arr){
})
【参数】item:当前遍历的元素;
index:当前遍历的下标;
array:当前数组
【返回值】返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
【注】1、不会改变原始数组;
2、不会对空数组进行检测;
var arr = [10,20,30,40];
var newArr = arr.map(function(item,index,array){
return item+2;
});
document.write(newArr);//12,22,32,42
reduce()
推荐讲解:https://www.jianshu.com/p/e375ba1cfc47
filter()
【功能】创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
【返回值】一个新数组,其中元素为通过检查指定数组中符合条件的所有元素。
【注】1、不会对空数组进行检测。
2、不会改变原始数组。
var arr = [10,20,30,40,50,60,70,80];
var temp = arr.filter(function(item,index,array){
return item > 50;
})
document.write(temp);//60,70,80
some()
【功能】判断return后面的条件是否成立,如果成立返回true,否则返回false;
【注】如果匹配成功,则返回true,后面不再进行遍历;
var arr = [10,20,30,40,50,60,70,80];
var res = arr.some(function(item,index,array){
return item >70;//判断数组中是否存在大于70
})
alert(res);//true
every()
【功能】跟some一样,但是要求每一项都符合,才返回true,如果不符合返回false;
【注】如果判断有元素不符合调节,则直接终止循环;
var arr = [10,20,30,40,50,60,70,80];
var res = arr.every(function(item,index,array){
return item >70;//判断数组中每一个元素是否都大于70;
})
alert(res);//false
var res1 = arr.every(function(item,index,array){
return item >7;//判断数组中每一个元素是否都大于7;
})
alert(res1);//true