二、陣列的遍歷方式【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():沒有返回值,只是針對每個元素呼叫func// elem 每個元素 index 下標 arr陣列本身
arr.
foreach
(function
(elem, index, arr))
;// foreach 與 for的區別
foreach是無法中斷迴圈的,無法使用continue
,break這些關鍵字,中斷迴圈
3. map():返回新的array,每個元素為呼叫func的結果// map 返回新的陣列,不會改變原有陣列的值
let result = arr.
map(
function
(value))
;console.
log(arr, result)
;// [1, 2, 3] [2, 3, 4]
4. filter():返回符合func條件的元素陣列// filter 從陣列中找到符合條件的資料,組成新的陣列
let result = arr.
filter
(function
(value))
;console.
log(arr, result)
;// [1, 2, 3] [2]
5. some():返回boolean,判斷是否有元素是否符合func條件// some 從陣列中找到符合條件的資料,返回boolean。只要找到乙個就會返回true
let result = arr.
some
(function
(value))
;console.
log(arr, result)
;// [1, 2, 3] true
6. every():返回boolean,判斷每個元素是否符合func條件// every 從陣列中找到符合條件的資料,返回boolean。每乙個都滿足才會返回true
let result = arr.
every
(function
(value))
;console.
log(arr, result)
;// [1, 2, 3] false
7. reduce():接收乙個函式作為累加器// 求和 reduce(function,initialvalue) 函式和初始值
// function(pre, cur, index, array)
// pre表示上一次計算的值 cur 當前值 index當前值得下標 array 原陣列
let result = arr.
reduce
(function
(pre, cur, index, array),
0);console.
log(arr, result)
;// [1, 2, 3] 6
// 求最大值
let max = arr.
reduce
(function
(pre, cur, index, array))
;console.
log(max)
;// 去重
let arr =[1
,2,3
,2];
let res = arr.
reduce
(function
(pre, cur, index, array),
);console.
log(res)
;// [1, 2, 3]
8. for infor
(let index in arr)
// 看似可以,其實是存在問題的,比如在array原型定義乙個自定義屬性
array
.prototype.
foo=
function()
;for
(let index in arr)
二、陣列的遍歷方式【es6】
1. find():返回第乙個通過測試的元素,如果沒找到返回undefined
let res = arr.
find
(function
(value))
;console.
log(arr, res)
;// [1, 2, 3, 2] 2
2. findindex():返回的值為該通過第一元素的索引let res = arr.
findindex
(function
(value))
;console.
log(arr, res)
;// [1, 2, 3, 2] 1
3. for offor
(let item of arr)
4. values()// 陣列值
for(
let item of arr.
values()
)
5. keys()// 陣列下標
for(
let item of arr.
keys()
)
6. entries()// 陣列值和下標
for(
let[index, item]
of arr.
entries()
)
三、相關注意點
1. for、foreach、for…of區別
2. some、every3. filter、map4. find、findindexECMAScript陣列常用
var arr 22,33,44,55,66,77,88,99 every 全部結果為true 則返回true var e arr.every function m console.log arr.every e every 只有有乙個方法返回true 則返回true var s arr.some ...
ECMAScript之陣列篇
ecmascript包括語法,型別,語句,關鍵字,保留字,操作符,物件。建立陣列 建立沒有內容的陣列 var arr new array 建立空陣列 var arr new array 2 建立乙個空間為2的陣列 var arr 建立空陣列 建立有內容的陣列 var arr new array 2,...
ECMAScript 6 陣列的解構賦值
模式匹配 只要等號兩邊的模式相同,左邊的變數就會被賦予對應的值。let a,b,c 1,2,3 巢狀陣列進行解構 let foo,bar baz 1,2 3 foo 1 bar 2 baz 3 let third foo bar baz third baz let x,y 1,2,3 x 1 y 3...