js陣列中的迭代方法
阿新 • • 發佈:2018-12-08
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)
})