从两个常规数组创建一个关联数组

Luc*_*uca 2 javascript associative-array

我想将两个常规数组绑定到一个关联数组中.第一个的值是键,第二个的值是元素.

var array1=new Array("key1","Key2","Key3");
var array2=new Array("Value1","Value2","Value3");

var associative_array=new Array();
for(var i=0;i<3;i++){

associative_array[array1[i]]=array2[i];
}
Run Code Online (Sandbox Code Playgroud)

但是当我试图获得新的关联数组的长度时,我注意到它是空的:

alert(associative_array.length);//always 0
Run Code Online (Sandbox Code Playgroud)

我做错了什么?Thanx提前.

小智 6

在Javascript中,将对象用于关联数组.有很多方法可以重写它,但是使用你的例子只需将"new Array()"替换为"new Object()":

var array1=new Array("key1","Key2","Key3");
var array2=new Array("Value1","Value2","Value3");

var associative_array=new Object();
for(var i=0;i<3;i++){
  associative_array[array1[i]]=array2[i];
}
Run Code Online (Sandbox Code Playgroud)

你需要实现一些东西来获得对象的大小.以下应该是函数或方法的一部分,但应该说明这个想法:

var o_size = 0;
for (key in associative_array) {
  o_size++;
}
alert(o_size);
Run Code Online (Sandbox Code Playgroud)