JavaScript中利用for循环遍历数组
作者:浪迹灬天涯 时间:2024-03-17 02:21:54
先看一段代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
// 一个普通的数组
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]);
}
</script>
</body>
</html>
这段代码显示出了 一点 for循环遍历数组 和for in 循环遍历 数组的一点区别:
标准的for循环中的i是number类型,表示的是数组的下标,但是foreach循环中的i表示的是数组的key是string类型。
这还不是坑,只是一点区别。
再看一段代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
// 一个普通的数组
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]);
}
</script>
</body>
</html>
这段代码就是在上边的代码的基础上,为Array做了一下扩充。很简单,只是添加了一个函数。但是我们来看运行会出现了什么情况:
输出的结果中,多出了一行,这一行就是我们扩展的一个函数,不是我们定义在数组中的值。到此这个问题就出来了。
综上所述,用for...in...在通常情况下确实可以正确运行。
但是如果我们在项目采用的是用foreach遍历数组,假设有一天谁不小心自己为了扩展js原生的Array类,或者引入一个外部的js框架也扩展了原生Array。那问题就来了。
所以最好还是用for循环遍历数组
标签:js,for,遍历数组
0
投稿
猜你喜欢
利用Python进行数据可视化常见的9种方法!超实用!
2021-10-05 23:11:58
Python查找最长不包含重复字符的子字符串算法示例
2021-05-25 23:05:02
MySQL学习之数据库操作DML详解小白篇
2024-01-14 11:59:48
PHP中使用cURL实现Get和Post请求的方法
2023-08-18 13:15:35
JavaScript的replace方法与正则表达式结合应用讲解
2008-03-06 21:37:00
可以让程序告诉我详细的页面错误和数据库连接错误吗?
2009-11-01 18:01:00
pyspark给dataframe增加新的一列的实现示例
2022-06-13 20:00:19
python opencv之SURF算法示例
2021-03-06 13:10:28
鼠标双击滚动屏幕单击停止代码
2008-02-21 11:44:00
python生成指定长度的随机数密码
2021-01-24 23:53:17
ASP生成数字相加求和的BMP图片验证码
2011-04-14 10:48:00
MySQL命令无法输入中文问题的解决方式
2024-01-15 19:29:54
python脚本监控Tomcat服务器的方法
2023-10-03 18:19:23
基于Python执行dos命令并获取输出的结果
2021-01-23 14:26:53
在linux下实现 python 监控usb设备信号
2022-04-18 15:29:24
WEB前端开发经验总结之实战篇
2008-06-12 12:49:00
Python @property装饰器原理解析
2022-02-19 20:28:05
JS基于封装函数实现的表格分页完整示例
2024-04-25 13:15:12
详解Python中open()函数指定文件打开方式的用法
2022-12-07 10:22:11
Python 函数绘图及函数图像微分与积分
2021-07-13 22:53:14