Array.forEach()迭代整個陣列元素
- 詳細內容
- 分類:Javascript
- 發佈:2013-03-05, 週二 14:02
- 點擊數:2927
Javascript的Array.forEach()方法:
Array.forEach()方法會為陣列中的每個元素呼叫一次回呼函式,藉以對陣列元素進行操作。
但若陣列元素被刪除或是未給定初始值則不會呼叫回呼函式。
此方法出現在ECMA-262第五版中,因此可能會有些瀏覽器並不支援這方法。
若要確保在所有瀏覽器中都能正確執行,可在原型中自行定義此方法。
Array.forEach()的語法:
array.forEach( callbackfn [ , thisArg ] )
callbackfn:回呼函式,forEach()方法會為每個陣列元素呼叫此函式,該函式需由設計師自行撰寫,
callbackfn有三個傳入值element、index、array,
element:陣列元素的值。
index:陣列元素索引。
array:呼叫forEach()的陣列。
thisArg:callbackfn中的this代表的物件,如果省略則callbackfn中的this代表全域物件(非嚴格模式下)。
Array.forEach()的範例:
<script type="text/javascript">
var a=[1,2,3,4,5,6,7,8,9,10]
function list(element, index, array) {
document.writeln("第"+index+"個陣列元素="+element+"<br/>");
}
a.forEach(list);
</script>
Array.forEach()的範例輸出:
第0個陣列元素=1
第1個陣列元素=2
第2個陣列元素=3
第3個陣列元素=4
第4個陣列元素=5
第5個陣列元素=6
第6個陣列元素=7
第7個陣列元素=8
第8個陣列元素=9
第9個陣列元素=10
在原型中新增Array.forEach()方法:
Array.filter()方法是ECMS-262中的標準方法,但並非所有瀏覽器都支援,
為確保在所有瀏覽器中都能正確執行,可自行在原型中定義該方法。
下面是MDN中 Array.forEach 提供的程式,將其放入script的開頭:
if ( !Array.prototype.forEach ) {
Array.prototype.forEach = function(fn, scope) {
for(var i = 0, len = this.length; i < len; ++i) {
fn.call(scope, this[i], i, this);
}
}
}
MDN中還有個比較正式的寫法,這裡就不列了。
關於Array物件的其他屬性與方法,請參考:陣列物件 Array。
按個讚!~支持本站!~
你可能會有興趣的文章
- Array.filter()過濾陣列元素
- 關聯式陣列
- for in 列舉陣列(Array)的危險陷阱
- Array.valueOf()傳回原始值
- Array.unshift()新增元素並傳回陣列長度
- Array.toString()傳回陣列元素字串