JS-find、filter、forEach、map


js這四個方法不會對空數組進行檢測,也不會改變原始數組

  find()方法主要用來返回數組中符合條件的第一個元素(沒有的話,返回undefined)

//語法 array.find(function(value, index, arr),thisValue)

var
Array = [1,2,3,4,5,6,7]; var result = Array.find(function(value){ return value > 5; //條件 }); console.log(result);//6 console.log(Array);//[1,2,3,4,5,6,7]

  filter()方法主要用來篩選數組中符合條件的所有元素,並且放在一個新數組中,如果沒有,返回一個空數組

//語法 array.filter(function(value, index, arr),thisValue)
var Array= [1,2,3,4,5,6,7];
 var result = Array.filter(function(value){
     return value>5;
 });
 console.log(result);//[6,7]
 console.log(Array);//[1,2,3,4,5,6,7]

  map()方法主要用來對數組中的元素調用函數進行處理,並且把處理結果放在一個新數組中返回(如果沒有返回值,新數組中的每一個元素都為undefined)

//語法 array.map(function(value, index, arr),thisValue)
 var Array = [1,2,3];
 var result =Array.map(function(item){
    return item* 2;
 });
 console.log(result);//[2,4,6]
 console.log(Array);//[1,2,3]

  forEach()方法也是用於對數組中的每一個元素執行一次回調函數,但它沒有返回值(或者說它的返回值為undefined,即便我們在回調函數中寫了return語句,返回值依然為undefined)

注意: 如果forEach里有兩個參數,則第一個參數為該集合里的元素,第二個參數為集合的索引; 若只有一個參數則該參數就是遍歷數組中的一項; 不能 使用 return false 終止循環 只是終止了本次循環

 var Array = [1,2,3,4,5];
 var sum = 0;
 var res = Array.forEach(function(item,index){
    sum += item;
 });
 console.log(res); //undefined     
 console.log(Array);//[1,2,3,4,5]
 console.log(sum);//15
//一般不寫返回值
Array.forEach(function(value){
    sum += value; });
console.log(sum) //15

  jquery中的 each 

注意:如果回調函數里只有一個參數時,則為集合的索引; 如果有兩個參數,則第一個為索引,第二個該集合里的元素; 可在 方法中 return false 跳出循環

var Array= new Array(['a','b','c']);
$.each(Array, function(index,item){
    console.log(index);  // 0,1,2
    console.log(item);  // a,b,c
})

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM