迭代是对数据的 遍历
,下面是 JavaScript 中字符串的迭代方法。
// for of
for (let v of 'abc'){
console.log(v)
}
// a
// b
// c
数组的迭代方法。
/* for of */
for (let v of [1,2,3]){
console.log(v) // 1 2 3
}
/* forEach */
['a','b','c'].forEach(function(element,index,array){
console.log(element) // 当前元素
console.log(index) // 当前索引
console.log(array) // 迭代对象
})
// 'a'
// 0
//[ 1, 2, 3 ]
// 'b'
// 1
//[ 1, 2, 3 ]
// 'b'
// 2
// [ 1, 2, 3 ]
对象的迭代方法,需要注意对象的迭代方式 for in
,而不是 for of
。
// for in
var obj = {a: 1, b: 2}
for (let o in obj) {
console.log(o)
console.log(obj[o])
}
// 'a'
// 1
// 'b'
// 2
/*
也可以把对象转换成数组在迭代
Object.keys({a: 1, b: 2}) // [a, b]
Object.values({a: 1, b: 2}) // [1, 2]
*/
map 的迭代方法。
m = new Map([[1,'a', 2, 'b']])
// forEach
m.forEach(function(key, value, map) {
// 'a'
// 1
// new Map([[1,'a', 2, 'b']])
// ...
})
// for of
for (let m_k of m.keys()){} // 1,2
for (let m_v of m.values()){} // a,b
set 的迭代方法。
for (let s of new Set([1,2])){
// 1,2
}