在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ js中如何遍歷數(shù)組的非規(guī)則的下標(biāo)?

js中如何遍歷數(shù)組的非規(guī)則的下標(biāo)?

假設(shè)有一數(shù)組
a=new Array(3)
a[0]=1
a["a"]="a"
a[2]=2

假設(shè)我不知道下標(biāo)是0,“a”,2,我怎樣遍歷出這個(gè)數(shù)組的下標(biāo)0,"a",2出來?
感覺js的數(shù)組和字典很類似啊,是不是可以當(dāng)成字典來用了?

回答
編輯回答
吃藕丑

for in有人說了,還有Object.keys,當(dāng)然前提是兼容性好,ie什么的就算了吧

 console.log( Object.keys(a));
2017年2月28日 15:27
編輯回答
賤人曾

理論上js中任何對象都可以做為字典來用,但是你拿數(shù)組當(dāng)字典用就會有下面的問題比如:

var myArray = [ "foo", 42, "bar" ];
    myArray["3"] = "baz";
    myArray.length; // 4
    myArray[3]; // "baz"

你這里是想添加一個(gè)3的屬性,但是卻做了改變第3個(gè)元素的事情!??!這就是它的副作用

js中適合做字典的有 空對象,或者ES6的Map,但是map可能一些瀏覽器不支持。
所以這種方式是我比較推薦的,就是創(chuàng)建一個(gè)空對象 Object.create(null);然后配上
屬性訪問語法:obj["foo"]= bar; 和 for in 來使用

2018年8月30日 04:57
編輯回答
神曲
for (var k in a) {
  console.log(k)
}

可以當(dāng)成字典用

ES6新增了Map類型,也類似字典
http://es6.ruanyifeng.com/?se...

2017年4月25日 15:53