1. 程式人生 > >JS對像和數組的遍歷

JS對像和數組的遍歷

col true name each console eve 通用 for logs

零. 通用遍歷方法

0.1 for...in...

let obj = {0:"a", 1:"b", 2:"c"};
for (let key in obj) {
  console.log(obj[key])  
}

0.2 for...of...

let obj = {0:"a", 1:"b", 2:"c"};
for (let value of obj) {
  console.log(value)  
}

一. JS遍歷對象

1.1 Object.keys()遍歷

let obj = {0:"a", 1:"b", 2:"c"};
Object.keys(obj).forEach((key) 
=> { console.log(key, obj[key]); });

技術分享圖片

1.2 Object.values()遍歷

let obj = {0:"a", 1:"b", 2:"c"};
Object.values(obj).forEach((value, key) => {
   console.log(key, value);
});

技術分享圖片

1.3 Object.entries()遍歷

let obj = {0:"a", 1:"b", 2:"c"};
Object.entries(obj).forEach((value, key) => {
   console.log(key, value);
});

技術分享圖片

1.4 Object.getOwnPropertyNames()

let obj = {0:"a", 1:"b", 2:"c"};
Object.getOwnPropertyNames(obj);

技術分享圖片

二. JS遍歷數組

2.1 forEach語句

let arr = [1, 2, 3]
arr.forEach((item) => {
   console.log(item) 
})

2.2 map方法

map不會改變原數組,callback執行返回的值會形成一個新的數組。

let arr = [1, 2, 3]
let newArr 
= arr.map((item) => { item * 2 })

2.3 filter方法

filter將返回值為true的元素創建一個新數組。

let arr = [1, 2, 3]
let newArr = arr.filter((item) => {
   item > 2
})

2.4 every方法

every,全部滿足則返回true

let arr = [1, 2, 3]
let res = arr.every((item) => {
   item > 2
}) //false

2.5 some方法

some,只有有一項滿足則返回true

let arr = [1, 2, 3]
let res = arr.some((item) => {
   item > 2
}) //true

JS對像和數組的遍歷