indexOf()
本來是字符串中字符查找方法,但該方法也是數(shù)組的查找元素方法
【格式】數(shù)組.indexOf(元素答朋,index)贷揽;
【參數(shù)】元素:要查找的元素;
? ? ? ? ? ? ? index:開始查找的位置的下標(biāo)绿映;
【功能】查找
【返回值】如果在字符串中查找到了子串第一次出現(xiàn)的位置擒滑,返回子串出現(xiàn)的位置腐晾,否則沒有查找到返回-1;
【注】使用的方式和字符串的方式一致丐一;
var arr = [10,20,30,40,50,60];
var temp = arr.indexOf(50);//默認從下標(biāo)為0開始
document.write(temp + "<br />"); //4
var temp1 = arr.indexOf(50,2);//從下標(biāo)為3開始查找,還是返回查找元素在數(shù)組中的下標(biāo)
document.write(temp1); //4
var temp2 = arr.indexOf(50,7);//從下標(biāo)為7開始查找,沒有找到返回-1藻糖;
document.write(temp2); //-1
forEach()
【原理】將原始數(shù)組遍歷,并對每一個元素库车,直接或調(diào)用函數(shù)處理巨柒,將處理完的數(shù)據(jù)生成一個姓的數(shù)組返回;
【格式】
array.map(function(item, index, arr){
})
【參數(shù)】item:當(dāng)前遍歷的元素柠衍;
? ? ? ? ? ? ? index:當(dāng)前遍歷的下標(biāo)洋满;
? ? ? ? ? ? ? array:當(dāng)前數(shù)組
【返回值】返回一個新數(shù)組,數(shù)組中的元素為原始數(shù)組元素調(diào)用函數(shù)處理后的值珍坊。
【注】1牺勾、不會改變原始數(shù)組;
? ? ? ? ? ? 2阵漏、不會對空數(shù)組進行檢測驻民;
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()
推薦講解:http://www.reibang.com/p/e375ba1cfc47
filter()
【功能】創(chuàng)建一個新的數(shù)組,新數(shù)組中的元素是通過檢查指定數(shù)組中符合條件的所有元素履怯。
【返回值】一個新數(shù)組回还,其中元素為通過檢查指定數(shù)組中符合條件的所有元素。
【注】1叹洲、不會對空數(shù)組進行檢測柠硕。
? ? ? ? ? ? 2、不會改變原始數(shù)組运提。
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;//判斷數(shù)組中是否存在大于70
})
alert(res);//true
every()
【功能】跟some一樣,但是要求每一項都符合竟痰,才返回true签钩,如果不符合返回false;
【注】如果判斷有元素不符合調(diào)節(jié)坏快,則直接終止循環(huán)铅檩;
var arr = [10,20,30,40,50,60,70,80];
var res = arr.every(function(item,index,array){
return item >70;//判斷數(shù)組中每一個元素是否都大于70;
})
alert(res);//false
var res1 = arr.every(function(item,index,array){
return item >7;//判斷數(shù)組中每一個元素是否都大于7莽鸿;
})
alert(res1);//true