for in 和 for of 的区别
2017-09-23 23:32
197 查看
for in 和 for of 都是可以用来遍历数组的
从我们输出内容我们可以简单的理解为:
for of遍历的只是数组内的元素,而不包括数组的原型属性method和索引name
使用
index索引为字符串型数字,不能直接进行几何运算
遍历顺序有可能不是按照实际数组的内部顺序
使用for in会遍历数组所有的可枚举属性,包括原型。
所以
var arr1 = ['a','b','c','d','e','f']; for(let i in arr1){ console.log(i);// 0,1,2,3,4,5 } for(let i of arr1 ){ console.log(i);//a,b,c,d,e,f }
从我们输出内容我们可以简单的理解为:
for in是遍历索引(键名),而
for of是遍历键值。
for of遍历的只是数组内的元素,而不包括数组的原型属性method和索引name
使用
for in遍历数组可能会存在以下问题:
index索引为字符串型数字,不能直接进行几何运算
遍历顺序有可能不是按照实际数组的内部顺序
使用for in会遍历数组所有的可枚举属性,包括原型。
所以
for in更适合遍历对象,不要使用for in遍历数组。
var arr2 = {1:'a',2:'b',3:'c',4:'d',5:'e',6:'f'}; for(let i in arr2){ console.log();//1,2,3,4,5,6 }
相关文章推荐
- js for in 和for of的区别
- for循环和for in循环以及for of循环的区别
- 关于数组的for循环与for...in循环的使用区别
- AS3 中 for...in 和 for each ...in 的区别
- ateObjectsUsingBlock 、for 、for(... in ...) 的区别 & 性能测试 for VS for(... in ...)
- js:for in 语句各浏览器有区别
- JavaScript中for和for-in的区别;访问对象的属性.和[]的区别
- as3中for in 和 for each in的区别
- flex: for...in和for...each区别
- javascript中for和for in 区别
- python for in if 连着写与分开写的区别
- for(var i in obj)和for(var i=0;i<obj.length;i++)的区别
- ios中for循环和for-in循环的用法和区别
- AS3 for……in和for each……in的区别
- enumerateObjectsUsingBlock 、for 、for(... in ...) 的区别 & 性能测试
- JavaScript for...of与for...in的区别
- ruby each..do.. 与 for..in..的区别
- 关于js中for in和foreach in的区别
- for ... of循环和for ... in循环有何区别?
- for … of和for … in的区别