js中如何遍历数组的非规则的下标?

假设有一数组
a=new Array(3)
a[0]=1
a["a"]="a"
a[2]=2

假设我不知道下标是0,“a”,2,我怎样遍历出这个数组的下标0,"a",2出来?
感觉js的数组和字典很类似啊,是不是可以当成字典来用了?


千万里不及你
浏览 998回答 2
2回答

Helenr

理论上js中任何对象都可以做为字典来用,但是你拿数组当字典用就会有下面的问题比如:var myArray = [ "foo", 42, "bar" ];    myArray["3"] = "baz";    myArray.length; // 4    myArray[3]; // "baz"你这里是想添加一个3的属性,但是却做了改变第3个元素的事情!!!这就是它的副作用js中适合做字典的有 空对象,或者ES6的Map,但是map可能一些浏览器不支持。所以这种方式是我比较推荐的,就是创建一个空对象 Object.create(null);然后配上 属性访问语法:obj["foo"]= bar; 和 for in 来使用
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript