ecmascript 5定義了9個新的陣列方法來遍歷、對映、過濾、檢測、簡化和搜尋陣列。
foreach()
方法從頭至尾遍歷陣列,為每個元素呼叫指定的函式。
注意,foreach()
無法在所有元素都傳遞給呼叫的函式之前終止遍歷。
如果要提前終止,必須把foreach()
方法放在乙個try塊中,並能丟擲乙個異常。如果foreach()
呼叫的函式丟擲 foreach.break 異常,迴圈會提前終止:
function foreach(a,f,t)
catch(e)
}foreach.break = new error("stopiteration");
map()
方法將呼叫的陣列的每個元素傳遞給指定的函式,並返回乙個新陣列,它包含該函式的返回值。
filter()
方法返回的陣列元素是呼叫的陣列的乙個子集。
傳遞的函式是用來邏輯判斷的:該函式返回true或false。如果返回值為true(或能轉化為true值),那麼傳遞給判定函式的元素就是這個子集的成員,它將被新增到乙個作為返回值的陣列中。
注意,filter()
會跳過稀疏陣列中缺少的元素,它的返回陣列總是稠密的。
var dense = sparse.filter(function() );
var a = a.filter(function(x) );
every()
和some()
方法是陣列的邏輯判定:它們對陣列元素應用指定的函式進行判定,返回true或false。
(注意,一旦every()
和some()
確認該返回什麼值它們就會停止遍歷陣列元素)
reduce()
和reduceright()
方法使用指定的函式將陣列元素進行組合,生成單個值。這在函式式程式設計中是常見的操作,也可稱為『注入』和摺疊。
如果呼叫它的時候只有乙個值(陣列只有乙個元素並且沒有指定初始值,或者有乙個空陣列並且指定乙個初始值)reduce()
只是簡單地返回那個值而不會呼叫化簡函式。
indexof()
和lastindexof()
搜尋整個陣列中具有給定值的元素,並返回找到的第乙個元素的索引(沒找到就返回-1)。
第乙個引數是需要搜尋的值,第二個引數是可選的:它指定陣列中的乙個索引,從**開始搜尋。
在ecmascript 5 中可以用array.isarray()
函式判斷乙個未知物件是否為陣列。
var isarray = function.isarray || function(o) ;
arguments 類陣列物件和 dom 方法返回的類陣列物件:
function isarraylike(o)
ECMAScript5學習筆記 第十四章 程式
語法 program sourceelementsopt sourceelements sourceelement sourceelements sourceelement sourceelement statement functiondeclaration 語義 若 sourceelements...
ECMAScript 陣列的遍歷方式
二 陣列的遍歷方式 es6 三 相關注意點 一 陣列的遍歷方式 es5 1.for迴圈let arr 1 2,3 for let i 0 i arr.length i 推薦寫法 for let i 0,count arr.length i count i 2.foreach 沒有返回值,只是針對每個...
ECMAScript中的函式
有 3 種定義函式的方式 函式宣告 function關鍵字後需要指定函式名 function sum num1,num2 不加分號 console.log sum 2,3 5函式表示式 function關鍵字後不用指定函式名 函式末尾需要新增乙個分號,就像宣告其他變數時一樣 var sum func...