可能重复:
javascript数组关联和索引?
我正在从一个函数返回一个数组,我想知道我是否也可以同时拥有字符串关联和数字关联。
前任:
array[0] = green;
array[1] = blue;
array['what'] = colors;
可能重复:
javascript数组关联和索引?
我正在从一个函数返回一个数组,我想知道我是否也可以同时拥有字符串关联和数字关联。
前任:
array[0] = green;
array[1] = blue;
array['what'] = colors;
数组只是具有特殊长度属性和一些方便的继承方法的对象。由于数组是对象,因此它们的属性名称是字符串,但是数组方法会访问数字的('0'、'1'、'2' 等),而非数字的(例如长度)则不会。此外,许多数组方法是通用的,可以应用于任何具有合适属性(即数字长度属性和一些数字属性名称)的对象。
请注意,要被视为索引,属性名称必须满足索引名称的规则,因此:
var x = [];
x['00'] = '00'; // length = zero as '00' is not an index
x['0'] = '0'; // length = 1 as '0' is an index
通常认为在普通对象可以使用数组的情况下使用数组是不好的形式,尽管这样做没有任何后果,除非你弄乱了长度属性。
在某种程度上是的,因为它是某种类型的对象。但是使用它们是错误的 :) 使用对象({}
)作为命名(字符串)索引,使用数组([]
)作为数字索引。