很多年来,我一直以为JavaScript里有Associative Array,而我也一直以为我每天在用的Associative Array,其实也只是Sugar Syntax.
var arr; arr['a'] = 'apple'; arr['b'] = 'banana';
其实它是一个Object.
以下的是它的真正写法:
var arr = {}; arr.a = 'apple'; arr.b = 'banana';
而提取它们的数值的方法也有所不一样:
//For Array: arr.map(function(value){ console.log(value); }); //For Object: for(var key in arr){ console.log(arr['key']); }
有一点一定要注意的,如果你的KEY是一个很大的整数的话,就不能用ARRAY了.
//For Array: var arr = []; arr[10000] = 1; //arr 用了40000 byte(40kb)的内存. //For Object: var arr = {}; arr[10000] = 1; //arr 只用了4 byte的内存.