Es6 中for of 使用
阿新 • • 發佈:2018-11-26
var arr = ['apple', 'banana', 'orange', 'pear']
//for in 陣列,json 都可以遍歷
for(var i in arr){
console.log(i) //i 代表的是陣列的索引值
console.log(arr[i])
}
//在Es6中 for of 只能遍歷陣列,但不能遍歷json , 主要是配合 new Map() 使用
for(var j of arr){
console.log(j) //j apple, banana, orange, pear 直接輸出值
}
for of 還有一個使用時基於new Map()
var oMap = new Map() //oMap.set(name, value); // 設定map 屬性 和 value oMap.set('a', 'apple') oMap.set('b', 'banana') console.log(oMap) // 刪除 delete // 過去json 刪除方式 delete map.a 但在map 不行 // map 刪除方式 oMap.delete('a') // 就可以刪除了 //如果獲取某個屬性 用 get alert( oMap.get('a')) //apple console.log(oMap)
var oMap = new Map(); oMap.set('a','apple'); oMap.set('b','banana'); /*for(let name of oMap){ console.log(name) //a,apple; b,banana; 並不是單獨的值,而是包含屬性 }*/ //應該這樣定義 for(let [key,value] of oMap){ console.log(key, value) // key => [a,b], value => [apple, banana] } // entries() 返回一個遍歷器物件,用來遍歷[鍵名, 鍵值]組成的陣列。對於陣列,鍵名就是索引值;對於 Set,鍵名與鍵值相同。Map 結構的 Iterator 介面,預設就是呼叫entries方法。 // keys() 返回一個遍歷器物件,用來遍歷所有的鍵名。 // values() 返回一個遍歷器物件,用來遍歷所有的鍵值。 for(let name of oMap.entries()){ //oMap.entries() 相當於 oMap console.log(name) //a,apple; b,banana } for(let key of oMap.keys()){ console.log(key) //a, b } for(let value of oMap.values()){ console.log(value) //apple, banana }