我是靠谱客的博主 威武流沙,最近开发中收集的这篇文章主要介绍iteratorlterator的形式iterator不同next一次次调用遍历下一个成员。用for(成员of 数组)原生可遍历的对象:数组,字符串,arguments,nodelist,set,map,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
lterator的形式
使用iterator的原因:数组遍历可以用for循环,对象遍历用for in,iterator可以统一遍历的方法。
<script>
const it=[11,22][Symbol.iterator]();
console.log(it.next());//{value: 11, done: false}
console.log(it.next());//{value: 22, done: false}
console.log(it.next());//{value: undefined, done: true}//循环完毕
console.log(it.next());//{value: undefined, done: true}
</script>
iterator不同next一次次调用遍历下一个成员。用for(成员of 数组)
内部实现的机理:和while循环一起用
const it=[11,22,33][Symbol.iterator]();
// 用while循环进行遍历
let next =it.next();
while(!next.done){
console.log(next.value);
next=it.next() ;
};
封装好的for(of)
const it=[11,22,33][Symbol.iterator]();
for(let item of it){
console.log(item);
}
for of的应用
和break,continue 一起用,而foreach无法和break ,continue一起用
<script>
const a =[11,22,33];
for(item of a){
//for of 可以和break continue一起用
// if(item==11){
// break;
// }
if(item==22){
continue;
}
console.log(item);
}
// foreach不可以和continue,break一起用
// a.forEach(function(item){
// if(item==22){
// continue; //报错
// }
// console.log(item);
// })
</script>
获得数组的值和索引
// 获得数组的索引,数组点keys(),方法需要圆括号
for (index of a.keys()){
console.log(index);
}
// 获得数组数值,数组点keys(),方法需要圆括号
for (value of a.values()){
console.log(value);
}
// 获得数组的索引和数值,数组点keys(),方法需要圆括号
for (all_item of a.entries()){
console.log(all_item);
}
原生可遍历的对象:数组,字符串,arguments,nodelist,set,map
最后
以上就是威武流沙为你收集整理的iteratorlterator的形式iterator不同next一次次调用遍历下一个成员。用for(成员of 数组)原生可遍历的对象:数组,字符串,arguments,nodelist,set,map的全部内容,希望文章能够帮你解决iteratorlterator的形式iterator不同next一次次调用遍历下一个成员。用for(成员of 数组)原生可遍历的对象:数组,字符串,arguments,nodelist,set,map所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复