JS對像和數組的遍歷
阿新 • • 發佈:2018-03-27
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對像和數組的遍歷