JS数组下标的总结
- 数组下标值范围为0到2的32次方,如果不在此范围内,js会将它转换为一个字符串,作为对象属性的名称。
- 还需要注意的一点是JS数组的长度问题,JS数组的长度并不是按照给定的元素个数来计算的,是按照数组最大下标值来算
举例
var jsArr = new Array();
jsArr[0] = "数组元素1";
jsArr[1] = "数组元素2";
jsArr["abc"] = "对象属性的名称,其值为abc";
jsArr[-1] = "对象属性的名称";
jsArr[2] = "数组元素3";
jsArr['3'] = "数组元素4";
document.write(jsArr.length + '<br>');
for(i = 0; i < jsArr.length; i++) {
document.write(jsArr[i] + ' ');
}
document.write('<br>');
document.write(jsArr['abc'] + '<br>');
document.write(jsArr['3'] + '<0br>');
document.write(jsArr[-1] + '<br>');
document.write(jsArr + '<br>');
上面的输出结果为:
4
数组元素1 数组元素2 数组元素3 数组元素4
对象属性的名称,其值为abc
数组元素4
对象属性的名称
数组元素1,数组元素2,数组元素3,数组元素4
可以看到,不在0到2的32次方范围内的下标都不能作为数组的下标来用。
采用遍历JS对象的方法,将数组逐一输出
for(var p in jsArr) {
document.write(jsArr[p] + " ");
}
结果为:
数组元素1 数组元素2 对象属性的名称,其值为abc 对象属性的名称 数组元素3 数组元素4
JS数组按照最大下标值来计算
var arr = new Array();
arr[0] = '1';
arr[9] = '2';
alert(arr.length);
可以看到结果是10,因为这个数组的最大下标为9,根据数组的下标从0开始计算,得出这个JS数组的长度为10。