for in循环i的数据类型
来源:互联网 发布:汉仪综艺简体 mac版本 编辑:程序博客网 时间:2024/06/06 01:31
在某一个情况下,有时候使用 for 循环时,需要使用当前循环到的 i 这个变量的值进行一些运算操作,比如通过计算再赋值,加入数组等等。比如:
var arr=[1,2,3];var arr2=[];for(var i=0;i<arr.length;i++){ arr2[i+1]=arr[i];}arr2[0]=0;console.log(arr2);//1,2,3,4console.log(arr2.length);//4
这个结果是正常的,但许多用于在数组中的循环我们都很喜欢用 for in 循环,这时候再进行这样的操作就会出现问题:
var arr=[1,2,3];var arr2=[];for(var i in arr){ arr2[i+1]=arr[i];}arr2[0]=0;console.log(arr2);//[0, undefined × 10, 2, undefined × 9, 3, 01: 1]console.log(arr2.length);//22
出现这种情况的原因是:在 for in 循环中,循环的变量 i 的数据类型是string
var arr=[1,2,3];for(var i in arr){ console.log(i); console.log(typeof i);//string}for(var i=0;i<arr.length;i++){ console.log(i); console.log(typeof i);//number}
JavaScript是弱数据类型,0+”1”=”01”;”2”+6=”26”,会自动转换数据类型。可以用下面的方法解决:
复制数组,使用普通for循环解决
for(var i=0;i<arr.length;i++){ arr2[i+1]=arr[i];}
或者对 for in 循环中的 i 使用 parseInt() 转换数据类型后再进行运算。
for(var i in arr){ arr2[parseInt(i)+1]=arr[i];}
阅读全文
0 0
- for in循环i的数据类型
- for循环 i++和++i 的区别
- for ...in 结构的循环
- json 的for in循环
- javaScript的for in 循环
- javascript的for in 循环
- 02-for循环完之后的i
- for循环保存i值的方法
- javascript中的for in循环和for循环的使用
- for 循环和 for/in 循环的区别
- javascript中的for in循环和for循环的使用
- for ... of循环和for ... in循环的区别
- JavaScript中for循环和for in 循环的区别
- javascript中的for in循环和for循环的使用
- javascript中的for in循环和for循环的使用
- javascript中的for in循环和for循环的使用
- for循环与for...in循环的区别
- javascript中的for in循环和for循环的使用
- Zookeeper和zkui介绍以及部署
- 如何提高代码的执行效率--c++
- LeetCode刷题【Array】 Shortest Unsorted Continuous Subarray
- caffe——python接口:生成deploy文件
- 百练_2690:首字母大写
- for in循环i的数据类型
- 欢迎使用CSDN-markdown编辑器
- Hadoop NameNode 高可用 (High Availability) 实现解析
- myeclipse修改项目名后,tomcat中还是原来的项目名
- spring boot可导出war包开发环境搭建,包括数据库、缓存、拦截器设置
- 跟领导打电话需要注意什么?
- JSP设置
- phpcms v9 变更域名时应做的一些操作
- 在URL中添加UTM链接标签追踪流量效果