定义: for…of语句在可迭代对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等)上创建一个迭代循环,调用自定义迭代钩子,并为每个不同属性的值执行语句
语法: for (variable of iterable) { //statements } variable: 被迭代枚举其属性的对象。 iterable: 被迭代枚举其属性的对象。
例子一:(遍历数组)
let arr1 = ['光头强','熊大','熊二']
for (let item of arr1) {
console.log(item); // 打印结果: 光头强 熊大 熊二
}
例子二:(遍历字符串)
let str1 = 'ABCDEFG'
for(const item of str1) {
console.log(item) // 打印结果: A B C D E F G
}
例子三:(遍历数组对象)
let arr2 = [
{name:'光头强',age: '18',height: '1.7'},
{name:'光头强',age: '18',height: '1.7'}
]
for(let item of arr2) {
console.log(item)
// 打印结果: {name:'光头强',age: '18',height: '1.7'}
// {name:'光头强',age: '18',height: '1.7'}
}
例子四:(跟 entries() 结合起来用)
跟 entries() 结合起来用,可以有index 和 element,有些要用到 index 下标的,就可以使用这个
entries() 方法返回一个新的数组迭代器 (en-US)对象,该对象包含数组中每个索引的键/值对。
let arr4 = ['光头强','熊大','熊二']
for(const [index,element] of arr4.entries()) {
console.log(index) // 打印结果:0 1 2
console.log(element) // 打印结果:光头强 熊大 熊二
}