JavaScript中利用for循环遍历数组
发布时间 - 2026-01-10 22:32:14 点击率:次先看一段代码
<!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遍历数组
# js
# for循环遍历数组
# Javascript技巧之不要用for in语句对数组进行遍历
# js数组循环遍历数组内所有元素的方法
# Javascript数组循环遍历之forEach详解
# JS实现遍历不规则多维数组的方法
# JS中循环遍历数组的四种方式总结
# JavaScript 数组遍历的五种方法
# JavaScript中数组遍历方法合集大全
# 遍历
# 的是
# 这段
# 一个普通
# 一个函数
# 是在
# 来了
# 出了
# 基础上
# 这个问题
# 很简单
# 再看
# 到此
# 多出
# 这还
# 先看
# 大家多多
# 谁不
# 这一行
# 出现了
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
香港服务器网站卡顿?如何解决网络延迟与负载问题?
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
Laravel如何升级到最新版本?(升级指南和步骤)
如何快速搭建高效香港服务器网站?
HTML 中如何正确使用模板变量为元素的 name 属性赋值
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
如何快速搭建自助建站会员专属系统?
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤
中国移动官方网站首页入口 中国移动官网网页登录
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
Laravel PHP版本要求一览_Laravel各版本环境要求对照
Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
java获取注册ip实例
Internet Explorer官网直接进入 IE浏览器在线体验版网址
google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤
如何基于云服务器快速搭建网站及云盘系统?
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
Laravel如何实现一对一模型关联?(Eloquent示例)
Laravel如何优化应用性能?(缓存和优化命令)
如何在万网主机上快速搭建网站?
Python并发异常传播_错误处理解析【教程】
香港服务器选型指南:免备案配置与高效建站方案解析
如何彻底删除建站之星生成的Banner?
电商网站制作价格怎么算,网上拍卖流程以及规则?
JavaScript模板引擎Template.js使用详解
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
,南京靠谱的征婚网站?
如何快速搭建支持数据库操作的智能建站平台?
如何快速查询网站的真实建站时间?
利用vue写todolist单页应用
linux top下的 minerd 木马清除方法
Laravel Docker环境搭建教程_Laravel Sail使用指南
QQ浏览器网页版登录入口 个人中心在线进入
php做exe能调用系统命令吗_执行cmd指令实现方式【详解】
Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
网站制作企业,网站的banner和导航栏是指什么?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询
Laravel怎么连接多个数据库_Laravel多数据库连接配置
BootStrap整体框架之基础布局组件
如何快速搭建虚拟主机网站?新手必看指南
三星网站视频制作教程下载,三星w23网页如何全屏?
javascript读取文本节点方法小结
Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例

