ECMAScript 陣列的遍歷方式

2021-10-24 16:13:36 字數 3303 閱讀 7390

二、陣列的遍歷方式【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 in
for

(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 of
for

(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、every
3. filter、map
4. find、findindex

ECMAScript陣列常用

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