陣列的迭代(迴圈)方法
阿新 • • 發佈:2020-09-17
①every :針對陣列元素做些判斷,如果結果都為true 則返回的結果為true
1)用法:陣列.every(function(item,idx,arr){ return 判斷條件 })
2)Item表示陣列中的陣列項 idx表示陣列項索引 arr表示迴圈的陣列
3)如果迴圈每一個數組 返回的判斷條件 結果都是true every函式返回的就是true 如果迴圈過程中有一個返回值為false, 則every函式返回值也是false
②Some:和every用法完全相同
1)作用:some只要有一個返回值為true some的返回值就是true,如果返回值全是false some的返回值也是 false
③Filter:過濾器
1)用法:陣列.fliter(function(item,idx){ return 過濾條件 });
2)如果陣列項 滿足過濾條件,就保留下來,不滿足 就過濾掉,最後將保留下來的陣列項 組成一個新陣列 返回出來
④Map:
1)用法:陣列.map(function(item,idx){ return 對陣列項的操作程式碼 });
2)迴圈每一個數組項 對每一個數組項執行返回的操作程式碼 將操作過之後的陣列項 組成一個新陣列 返回出來
⑤forEach
1)用法:陣列.forEach(function(item,idx){ 迴圈體程式碼 });
2)作用:迴圈陣列,執行迴圈體程式碼
⑥程式碼示例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <script> // every :針對陣列元素做些判斷,如果結果都為true 則返回的結果為true// 如果迴圈每一個數組 返回的判斷條件 結果都是true every函式返回的就是true 如果迴圈過程中有一個返回值為false, 則every函式返回值也是false var arr = [1,2,3,4,5,6,7]; var ret = arr.every(function(item,idx,arr){ // console.log(item+"---"+idx,arr); return item>1; }) console.log(ret); // some : 針對陣列元素做些判斷,如果結果有一個為true 則返回的結果為true var ret1 = arr.some(function(item,idx,arr){ // console.log(item+"---"+idx,arr); return item>6; }) console.log(ret1); // filter : 針對陣列元素做些判斷,滿足條件的元素,會組成一個新的陣列,並且返回 var arr1 = ["張居正","張之洞","張三丰","王安石","王伯當","王羲之","李雲龍","義大利炮"]; //留下姓張的 var arr2 = arr1.filter(function(item,idx){ return item.indexOf("張")==0 }) console.log(arr2); // map : 返回一個新的陣列 var arr3 = ["老蕭","allen","蕭宇"]; var arr4 = arr3.map(function(item,idx){ return item+"真帥"; }) console.log(arr4); // forEach : 沒有返回值,就是一個簡單的迴圈 var arr5 = ["馬雲","馬化騰","李彥巨集","蔡崇信","張勇"]; arr5.forEach(function(item,idx){ console.log(idx+'---'+item); }) </script> </body> </html>