先看一段代码

Document

// 一个普通的数组

var arr =[3,5,2,6];

// 普通的for 循环遍历

for(var i = 0 ; i < arr.length; i++){

console.log(i,"类型:"+typeof i,arr[i]);

}

// 用for in 遍历数组

for(var k in arr){

console.log(k,"类型:"+typeof k,arr[k]);

}

这段代码显示出了 一点 for循环遍历数组 和for in 循环遍历 数组的一点区别:

标准的for循环中的i是number类型,表示的是数组的下标,但是foreach循环中的i表示的是数组的key是string类型。

这还不是坑,只是一点区别。

再看一段代码

Document

// 一个普通的数组

var arr =[3,5,2,6];

// 在数组原型上扩展一个方法

Array.prototype.extend = function(){

console.log("在数组原型扩展一个方法");

}

// 普通的for 循环遍历

for(var i = 0 ; i < arr.length; i++){

console.log(i,"类型:"+typeof i,arr[i]);

}

// 用for in 遍历数组

for(var k in arr){

console.log(k,"类型:"+typeof k,arr[k]);

}

这段代码就是在上边的代码的基础上,为Array做了一下扩充。很简单,只是添加了一个函数。但是我们来看运行会出现了什么情况:

输出的结果中,多出了一行,这一行就是我们扩展的一个函数,不是我们定义在数组中的值。到此这个问题就出来了。

综上所述,用for...in...在通常情况下确实可以正确运行。

但是如果我们在项目采用的是用foreach遍历数组,假设有一天谁不小心自己为了扩展js原生的Array类,或者引入一个外部的js框架也扩展了原生Array。那问题就来了。

所以最好还是用for循环遍历数组

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

html页面遍历数组,JavaScript中利用for循环遍历数组相关推荐

  1. JavaScript中利用for循环遍历数组

    这篇文章主要为大家详细介绍了JavaScript中利用for循环遍历数组,最好不要使用for in遍历,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 先看一段代码 1 2 3 4 5 6 7 8 ...

  2. Vue 中利用 template标签遍历多维数组

    Vue 中利用 template标签遍历多维数组 1. 需求 2. 二维数组内容 3. 列表渲染指令 v-for 4. template 标签 5. 正确的做法 作者:高玉涵 时间:2022.7.20 ...

  3. JavaScript中的属性:如何遍历属性

    JavaScript中的属性:如何遍历属性 在JavaScript中,遍历一个对象的属性往往没有在其他语言中遍历一个哈希(有些语言称为字典)的键那么简单.这主要有两个方面的原因:一个是,JavaScr ...

  4. 北风网ajax,[T8:JavaScript中利用Ajax实现客户端与服务器端通信北风网收费视频讲座.ppt...

    [T8:JavaScript中利用Ajax实现客户端与服务器端通信北风网收费视频讲座 Ajax简介 XMLHttpRequest对象 综合案例 1.HTTP请求 现在,很多浏览器都可以直接从JavaS ...

  5. php 输出数组第一个元素,怎么在php中利用reset() 函数输出数组中的第一个元素

    怎么在php中利用reset() 函数输出数组中的第一个元素 发布时间:2021-01-16 09:37:11 来源:亿速云 阅读:66 作者:Leah 本篇文章给大家分享的是有关怎么在php中利用r ...

  6. python循环展示大写字母_python调用大写函数python中字典的循环遍历的两种方式

    开发中经常会用到对于字典.列表等数据的循环遍历,但是python中对于字典的遍历对于很多初学者来讲非常陌生,今天就来讲一下python中字典的循环遍历的两种方式. 注意: python2和python ...

  7. javascript中的for循环

    使用方法1: for(i=0;i<10;i++) { } 使用方法2:(可以对数据.对象成员等进行遍历) var y = [2, 3, 5];  for (i in y)        docu ...

  8. jquery 遍历java对象_jquery中object对象循环遍历的方法

    一个朋友问对象如何转为数组,当我问他为啥要转得时候,他告诉我,数组可以用js循环遍历,而对象则不可以.其实呢,对象同样可以循环遍历的啊.不用转换也可以循环!说明你对js或者jquery的某些操作不是很 ...

  9. python中字典的循环遍历的方式

    python开发中经常会用到对于字典.列表等数据的循环遍历,但是python中对于字典的遍历对于很多初学者来讲非常陌生,今天就来讲一下python中字典的循环遍历的两种方式. 注意: python2和 ...

最新文章

  1. 本科生新算法打败NeRF,不用神经网络照片也能动起来,提速100倍
  2. CTF- Reverse迷宫题类型方法特征讲解
  3. FDS (Flex Data Services)
  4. Struts2 类型转换和数据校验
  5. python自动卸载win程序_利用python实现自动扫雷程序
  6. java 财付通支付_微信微信支付已拿下51%的份额,远超支付宝的41%
  7. python异常和错误的区别_python中错误和异常有什么区别
  8. 科技文献检索(七)——检索工具
  9. Java中的设计模式【我终于懂设计模式了】
  10. 视频压缩编码和音频压缩编码的基本原理
  11. 如何对计算机的系统文件和设置进行更改,Windows 系统常用设置方法与技巧
  12. Kaggle -Linear Regression with Time Series
  13. 【Zookeeper】ZK 是干什么的?
  14. 分布式高并发服务三种常用限流方案简介
  15. 信号幅值归一化(Python)
  16. C语言文件操作+通讯录实现文件操作
  17. ORACLE一次大量数据删除导致问题的处理
  18. firefox 火狐浏览器yandex网页翻译
  19. 若依(ruoyi)框架关闭当前标签页
  20. SAP BOM的类二维报表

热门文章

  1. 设计模式 —— 组合模式
  2. 售票java代码_初探12306售票算法(二)-java代码实践
  3. 如何通过JQuery动态触发oninput事件
  4. 爱施德继续盈利背后:业绩波动明显,投资一公司累计亏损约4亿元
  5. 202020205504学生表
  6. 虫口模型c语言编程,机器人卡雷尔学习C语言.pdf
  7. 我这个月外快赚了1万多(纯干货篇)
  8. 升级win10后更新bootcamp的方法
  9. Docker部署Nginx集群
  10. Linux普通用户登录MySQL数据库