JavaScript 中复合数组 associative array 和对象是等同的, 判断一个 key 是否存在于数组中 (或对象是否包含某个属性), 不能使用 ary[key] == undefined, 因为可能存在 ary = {key:undefined};
JavaScript 中判断数组是否有 key 的方法:
ary.hasOwnProperty(key);
或
obj.hasOwnProperty(key);
另外使用 key-value pair 对复合数组或对象进行 loop 的时候应该使用:
for(var key in ary) { document.write(key+":"+ary[key]); }
示例:
- var aaa = {
- "0":"a",
- "1":"b",
- "2":"c",
- "aa":"d",
- "4":"e"
- };
- alert(aaa .hasOwnProperty(4));
运行结果:
数组:
数组就是一组数据的集合
其表现形式就是内存中的一段连续的内存地址
数组名称其实就是连续内存地址的首地址
数组的特点:
数组定义时无需指定数据类型
数组定义时可以无需指定数组长度
数组可以存储任何数据类型的数据 (比如说一个元素保存整型, 一个元素保存字符串型, 这个在 JS 中是可以的)
来源: http://www.css88.com/qa/javascript/11268.html