1. 程式人生 > 實用技巧 >陣列的迭代(迴圈)方法

陣列的迭代(迴圈)方法

①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(itemidx){ 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>