for-in循环和for循环遍历数组
来源:互联网 发布:如何评价涛哥 知乎 编辑:程序博客网 时间:2024/04/29 12:40
今天在写代码的时候在用for-in循环遍历数组的时候会出现一些莫名的东西出来,后面查了一下资料。才知道for-in 循环和for循环的区别。
for -in 循环 就是迭代,他迭代的是当前对象的所有的属性和方法,它本身会过滤掉系统原来写好的属性和方法,如果我们给他加了属性和方法。在for-in 的时候就会将这些我们加的属性和方法遍历出来。
比如:我给js当中的array加了一个方法
//Array中的prototype方法就是给所有的数组都添加了一个新定义的方法名字为unique Array.prototype.unique = function(){ alert("unique"); } var arr = [0,1,2];
那么当上述代码执行之后,所有的数组里面就添加了这个方法。所以接下来在用for-in 循环的时候就会将这个函数也遍历出来。
for(var i in arr){ concole.log(arr[i]);}
这个时候的打印结果为
要想不遍历自己定义的方法,系统提供了一个方法可以去判断当前的属性是否为之后添加的而不是系统原有的就是array.hasOwnProperty(i)
上述代码想要不打印自定义的方法那么就去判断一下这个东西
for(var i in arr){ if(!arr.hasOwnProperty(i)){ continue; } console.log(arr[i]); }
用这个方法去判断i是否为后面新添加的属性或者方法,如果是新添加的 那么就跳过执行下一条。
当然了如果是数组的话,我们最好不要用for - in 循环去遍历,最好还是采用for 循环来写,这样可以避免一些不必要的麻烦
阅读全文
0 0
- for-in循环和for循环遍历数组
- for in 循环遍历对象和数组
- for in遍历和for 循环
- for 循环遍历数组
- 用for循环和增强for循环遍历多维数组
- JS数组的遍历方式for循环与for...in
- js 中的for in 与标准for循环遍历数组
- for in循环遍历实例
- js中使用for 循环和 for in 遍历数组区别
- Java for循环遍历数组
- 三维数组for循环遍历
- for循环正确遍历数组
- for循环和for-in循环
- for循环2-循环遍历二维数组
- Effective JavaScript Item 49 对于数组遍历,优先使用for循环,而不是for..in循环
- 数组迭代要优先使用for循环而不是for...in循环
- swift-for循环遍历,遍历字典,循环生成数组
- 遍历数组的两种写法,for循环和forin
- 为什么Tensorflow需要使用"图计算"来表示计算过程
- 叉积极角排序
- C++ Primer 7.0~7.3部分节练习&笔记
- 实现计算器4则运算算法-分离算法
- hdu 1255 矩形面积交
- for-in循环和for循环遍历数组
- 多线程:线程同步
- Mac:nodejs安装
- Android手机抓取log日志
- 习题6-14-欧拉道路
- 单链表结点插入
- 读书笔记_软件框架设计的艺术
- 新添的Activity 要在 manifest 中注册 否则界面跳转时会崩掉
- LeetCode编程练习