遍历 in java_Java script数组遍历for与for in的区别
我们在学习js中遍历数组的有两种方式
代码:
var array=['a']
//标准的for循环
for(var i=1;i
alert(array[i])
}
//foreach循环
for(var i in array){
alert(array[i])
}
正常情况下上面两种遍历数组的方式结果一样。首先说两者的第一个区别
标准的for循环中的i是number类型,表示的是数组的下标,但是foreach循环中的i表示的是数组的key是string类型,因为js中一切皆为对象。自己试试 alert(typeof i);这个区别是小问题。现在我加上如下代码,上面的执行结果就不一样了。
代码
//扩展了js原生的Array
Array.prototype.test=function()
}
我们发现标准的for循环任然真正的对数组循环, 但是此时foreach循环对我刚才写的test方法写打印出来了。这就是for与foreach遍历数组的最大区别,如果我们在项目采用的是用foreach遍历数组,假设有一天谁不小心自己为了扩展js原生的Array类,或者引入一个外部的js框架也扩展了原生Array。
建议
1.不要用for in遍历数组,全部统一采用标准的for循环变量数组(我们无法保证我们引入的js是否会采用prototype扩展原生的Array)
2.如果要对js的原生类扩展的时候,不要采用prototype了
遍历 in java_Java script数组遍历for与for in的区别相关推荐
- PHP用数组遍历新闻列表,php数组遍历_php
1, B=>1, C=>1, D=>1); foreach($array as $key => $value){ if($key == B){ $array[A] = CHAN ...
- 遍历map java_Java中怎么遍历map中value值
展开全部 遍历map中value大致有四种方法,具体每种方法的代码和解释如下:32313133353236313431303231363533e59b9ee7ad9431333365656630Map ...
- JS遍历(循环)——JS对象遍历(循环)JS数组遍历(循环)
最近在处理一些偏逻辑的代码块经常遇到遍历问题,接下来跟大家一起温习一下有关于JS的遍历吧. js数组遍历 1.for循环 //不缓存 var arr = [5,2,0,1,3,1,4]; for ( ...
- javascript数组遍历
数组遍历 最早的数组遍历方式 var a = ["a","b","c"]; for(var index = 0 ;index < a. ...
- 遍历JavaScript中的数组
在Java中,可以使用for循环遍历数组中的对象,如下所示: String[] myStringArray = {"Hello", "World"}; for ...
- PHP酒店管理demo案例(数组遍历)
PHP酒店管理demo案例(数组遍历) 目录 PHP酒店管理demo案例(数组遍历) PHP酒店管理前台编码: PHP酒店管理后台编码: 执行效果: 点击入住测试: 退房测试: 源码地址: PHP酒店 ...
- react版数组遍历
<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8" ...
- javascript——数组、数组遍历、forEach、增加删除元素
数组(Array) 数组也是一个对象,它和普通对象的功能类似,也是用来存储数据的:不同的是普通对象是使用字符串作为属性名的,而数组是使用数字来作为索引操作元素的 对象中是用属性,数组中用索引 索引:数 ...
- 数据类型_array_es6新增的数组遍历方法
数组遍历 [1]map方法 [2]filter方法 [3]forEach方法 [4]some方法 [5]every方法 [6]findIndex方法 [7]includes方法 [8]reduce方法 ...
最新文章
- 对我国6G早期研究布局的几点建议
- 【转】ubuntu 下安装mongodb php 拓展的方法
- Windows下mysql忘记密码的解决方法
- 揪出XXL-JOB中的细节
- 第一章:认识Redhat Linux
- Java笔记-解决读取文件时中文乱码问题(InputStreamReader设置编码)
- Nexus 3.X(Maven仓库私服)仓库迁移与备份
- JavaScript-封装与继承(两种)
- 【Sql查询数据】for 日、月、年
- 简单理解RocketMQ---入门
- 从ISO 文件制作U盘启动盘.
- java proj4j 兰勃特投影设置地球半径 (+R )无效问题
- ARP防火墙单机个人版 “此版本已过期,请下载最新版”
- sql字符串转时间-日期区间查询
- openjdk windows版本下载地址
- macbook air 重置mysql密码
- TIA博途中如何访问不同IP网段的PLC以及不同IP网段的PLC如何通信?
- centos7启动服务uthorization not available. Check if polkit service is running or see debug message for
- Warning: Function components cannot be given refs
- python web前端后端页面详解