1. 程式人生 > >js陣列中的迭代方法

js陣列中的迭代方法

ECMAScript5 為陣列定義5個迭代方法。每個方法都接收兩個引數:要在每一項上執行的函式和執行改函式的作用域物件-影響this的值。傳入這些方法中的函式會接收三個引數:陣列項的值(item)、該項在陣列中的位置(index)和陣列物件本身(array)。
以下方法都不會修改陣列中包含的值

every()

  • 對陣列中的每一項執行給定函式,如果該函式對每一項都返回true,則返回true。
 var numbers=[1,2,3,4,5,4,3,2,1];
    var everyResult=numbers.every(function (item,index
,array)
{ return (item>2); }) alert("everyResult: "+everyResult);
//false

some()

  • 對陣列中的每一項執行給定函式,如果該函式對任一項都返回true,則返回true。
 var someResult=numbers.some(function (item,index,array) {
        return (item>2);
    })
    alert("someResult: "+someResult);//ture

filter()

  • 對陣列中的每一項執行給定函式,返回該函式會返回true的項組成的陣列
//filter
    var filterResult=numbers.filter(function (item,index,array) {
        return (item>2);
    })
    alert("filterResult: "+filterResult);//3,4,5,4,3

map()

  • 對陣列中的每一項執行給定函式,返回每次函式呼叫的結果組成的陣列
 var mapResult=numbers.map(function (item,index,array) {
        return (item*2);
    }
) alert("mapResult: "+mapResult);
//2,4,6,8,10,8,6,4,2

forEach()

  • 對陣列中的每一項執行給定函式,這個方法沒有返回值
numbers.forEach(function (item,index,array) {
       alert(item)
    })