Javascript-for...in... 与for...of...

对于需要进行遍历操作的数据而言,我们经常会使用到两种方法: for in和for of,虽然它们两者都可以用于遍历,而这两种方法却有很大的不同点

1.for...in...遍历

1.使用for...in...遍历数组,会遍历到数组所有的可枚举属性,包括原型。
2.for...in语句可以任意顺序迭代对象的可枚举属性。(有时候遍历出的顺序是错误的)
3.for...in...遍历的是数组的索引

所以一般会使用for...in...进行对象的遍历
数组的for...in...的举例

// 遍历出属性
var arr=[1,2,3,4,5]
arr.number="数字";
Array.prototype.method=function(){
  return 0
}
for (var index in arr) {
  console.log(arr[index]);
}
//输出 1,2,3,4,5 ,数字,ƒ (){
//  return 0
//}

对象的for...in...遍历

// 遍历出原型
var obj={
    a:1,
    b:2
}
Object.prototype.method=function(){
  return 0
}
for (var key in obj) {
  console.log(key);
}
// 输出a,b,method

2.for...of...遍历

1.相对于for...in...而言,for...of...遍历的只是数组内的元素,而不会遍历出它的属性与原型
2.for...of...可以遍历可迭代对象定义要迭代的数据。
3.for...of... 遍历的是数组元素值

var arr=[1,2,3,4,5]
arr.number="数字";
Array.prototype.method=function(){
  return 0
}
for (var value of arr) {
  console.log(value);
}
// 输出: 1,2,3,4,5

3.总结
1.for...in...适用于对象的遍历
2.for...of 循环可以用来遍历数组、类数组对象,字符串、Set、Map 以及 Generator 对象

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容