1

可能重复:
javascript数组关联和索引?

我正在从一个函数返回一个数组,我想知道我是否也可以同时拥有字符串关联和数字关联。

前任:

array[0] = green;
array[1] = blue;
array['what'] = colors;
4

2 回答 2

0

数组只是具有特殊长度属性和一些方便的继承方法的对象。由于数组是对象,因此它们的属性名称是字符串,但是数组方法会访问数字的('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

通常认为在普通对象可以使用数组的情况下使用数组是不好的形式,尽管这样做没有任何后果,除非你弄乱了长度属性。

于 2012-07-31T00:51:53.363 回答
0

在某种程度上是的,因为它是某种类型的对象。但是使用它们是错误的 :) 使用对象({})作为命名(字符串)索引,使用数组([])作为数字索引。

于 2012-07-30T22:41:14.980 回答