這篇文章要跟大家分享的內容是5個關於JavaScript陣列的迭代方法,有著一定的參考價值,有需要的朋友可以參考一下
ECMAScript5為陣列定義了5個迭代方法。每個方法都接受兩個參數:要在每一項運行的函數和(可選的)運行函數的作用域物件--影響this的值。傳入的這些方法中函數會接受三個參數:數組項的值,該項在數組中位置和數組物件本身。
every():對數組的沒一項運行給定函數,如果函數每一項都傳回true,則傳回true。
filter():對陣列的每一項執行給定函數,傳回該函數會傳回true的項組成的陣列。
forEach():對數組中的每一項運行給定函數,這個方法沒有傳回值。
map ():對陣列中每一項執行給定函數,傳回每次函數呼叫的結果所組成的陣列。
some():對陣列中的每一項給定函數,如果該函數對任一項傳回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); //false every()必须没一项都返回true 则返回true
var someResult=numbers.some(function (item,index,array) { return(item>2); }); alert(someResult); //true some()任意一项返回true 则返回true
var filterResult=numbers.filter(function (item,index,array) { return(item>2); }); alert(filterResult); // 34543 filter()利用指定的函数确定返回在数组中包含某一项。 返回一个所有的数值都要大于2的数组。
var mapResult=numbers.map(function (item,index,array) { return item * 2; }); alert(mapResult); //2,4,6,8,10,8,6,4,2 map()也返回一个数组。而这个数组的每一项都是在原始数组中的对应上运行入函数的结果。
numbers.forEach(function(item,index,array){ //执行某些操作 }) //forEach()它只是对数组的每一项运行传入的函数,没有返回值。本质和for循环迭代数组一样
相關推薦:
#以上是5個關於JavaScript數組的迭代方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!