假设有一数组a=new Array(3)a[0]=1a["a"]="a"a[2]=2假设我不知道下标是0,“a”,2,我怎样遍历出这个数组的下标0,"a",2出来?感觉js的数组和字典很类似啊,是不是可以当成字典来用了?
2 回答
Helenr
TA贡献1780条经验 获得超4个赞
理论上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 来使用
添加回答
举报
0/150
提交
取消