es6中iterator
es6使用iterator结合for....of循环获取一个对象中需要的值
for...in循环和for...of循环的区别
for...in循环得到的是属性名,for...of得到的是属性值
for...in
const test = ['boyyang', '18', 'man']
for (const key in test) {
console.log(key)
}
//结果: 0 1 2
for...of
test = ['boyyang', '18', 'man']
for (const item of test) {
console.log(item)
}
// 结果: boyyang 18 man
iterator
const test = {
name: "boyyang",
age: "18",
skills: [
"html",
"css",
"js",
"jquery",
"vue"
],
[Symbol.iterator]: function () {
let index = 0
return {
next: () => {
if (index < this.skills.length) {
let result = {
value: this.skills[index],
done: false
}
index++
return result
}else{
return {
value: undefined,
done: true
}
}
}
}
}
}
for (const item of test) {
console.log(item)
}
// 结果: html css js jquery vue