迭代是对数据的 遍历,下面是 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
}
JavaScript 数据类型
JavaScript 数字
JavaScript 字符串
JavaScript 数组
JavaScript 对象
JavaScript Map
JavaScript Set
JavaScript null
JavaScript undefined
JavaScript 类型检测
JavaScript 包装对象
JavaScript 函数
JavaScript 参数
JavaScript 匿名函数
JavaScript 箭头函数
JavaScript 递归
JavaScript 闭包
JavaScript 生成器
JavaScript 异步
JavaScript setTimeout
JavaScript setInterval
JavaScript 回调
JavaScript Promise
JavaScript async await