ECMAScript 5 中的陣列方法

2021-08-26 17:55:02 字數 1550 閱讀 3948

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...