foreach()方法從頭至尾遍歷陣列,為每個元素呼叫指定的函式。三個引數:陣列元素、元素的索引和陣列本身。
map()方法將呼叫的陣列的每個元素傳遞給指定的函式,並返回乙個陣列,它包含該函式的返回值。var data = [1, 2, 3, 4, 5]
var sum = 0
data.foreach(function
(val))
sum // 15
data.foreach(function
(v, i, a))
data // [2, 3, 4, 5, 6]
傳遞給map的函式應該有返回值。map返回的是新陣列,它不修改呼叫的陣列。var a = [1, 2, 3]
var b = a.map(function
(x))
b // [1, 4, 9]
filter()方法返回的陣列元素是呼叫陣列的乙個子集。傳遞的函式是用來邏輯判定的:該函式返回true或false。如果返回值是true,那麼傳遞給判定函式的元素就是這個子集的成員,它將被加到乙個作為返回值的陣列中。
它們是對陣列元素應用指定的函式進行判定,返回true或falsevar a = [5,4,3,2,1]
var smallvalues = a.filter(function
(x))
everyother // [5, 3, 1]
every()
「針對所有」的意思,當且僅當針對陣列中所有元素呼叫判定函式都返回true,它才返回true
some()var a = [1, 2, 3, 4, 5]
a.every(function
(x)) // true
a.every(function
(x)) // false
「存在」的意思,當陣列中至少有乙個元素呼叫判定函式返回true,它就返回true;當且僅當數值中所有元素呼叫判定函式都返回false,它才返回false。
注意:一旦every()和some()確認範圍什麼值它們就會停止遍歷陣列元素。var a = [1, 2, 3, 4, 5]
a.some(function
(x)) // true
a.some(isnan) // false: a不包含非數值元素
some()在判定函式第一次返回true後就返回true,但如果判定函式一直返回false,它將會遍歷整個陣列。
every()恰好相反:它在判定函式第一次返回false後就返回false,但是如果判定函式一直返回true,它將會遍歷整個陣列。
它們使用指定的函式將陣列元素進行組合,生成單個值。
reduce()需要兩個引數。第乙個是執行化簡操作的函式。化簡函式的任務就是用某種方法把兩個值組合或簡化為乙個值,並返回簡化後的值。第二個引數是可選引數,傳遞給函式的初始值。var a = [1, 2, 3, 4, 5]
var sum = a.reduce(function
(x, y), 0) // 15 求和
var product = a.reduce(function
(x, y), 1) // 120 求積
var max = a.reduce(function
(x, y)) // 5 求最大值
上例中第三次呼叫reduce()沒有指定初始值。它將使用陣列的第乙個元素作為其初始值。
空陣列上,不帶初始值引數呼叫reduce()將導致型別錯誤異常。如果呼叫它的時候只有乙個值——陣列只有乙個元素並且沒有指定初始值,或者有乙個空陣列並且指定乙個初始值——reduce()只是簡單地返回那個值而不會呼叫化簡函式。
和reduceright()與reduce()一樣,不同的是它按照索引從高到低處理陣列。它們搜尋整個陣列中具有給定值的元素,返回找到的第乙個元素的索引或者沒有找到就返回-1。indexof()從頭至尾搜尋,而lastindexof()則反向搜尋。
它們不接受乙個函式作為其引數。第乙個引數是需要搜尋的值,第二個引數是可選的:它指定陣列中的乙個索引,從那裡開始搜尋。第二個引數,可以為負數,它代表相對陣列末尾的偏移量。a = [0, 1, 2, 1, 0]
a.indexof(1)// 1
a.lastindexof(1)// 3
a.indexof(3)// -1
字串也有indexof()和lastindexof()
ES5陣列方法
push 從陣列最後一位新增 pop 從陣列最後一位刪除 shift 從陣列第一位刪除 unshift 從陣列第一位新增 reverse 陣列逆轉 splice 從第幾位開始,擷取長度,在切口處新增新的資料 sort 陣列排序 arr.sort function a,b 正序 return b a ...
es5 陣列方法
es5 陣列方法的擴充套件 陣列物件.foreach function item,index 陣列物件.map function item,index 返回乙個加工後的新陣列 陣列物件.filter function item,index 按指定要求過濾,返回結果為true的子陣列 示例 main ...
ES5陣列方法
1.array.isarray 用來判斷是否為陣列,可以彌補typeof運算子的不足 2.valueof 返回陣列的原始值 一般情況下其實就是陣列自身 3.tostring 返回陣列的字串形式 4.indexof 返回指定元素在陣列中第一次出現的位置,沒有返回 1 5.lastindexof 返回指...