javascript数组既可以是数字数组,也可以是关联数组
Can a javascript array be both numerical and associative?
可能重复:
javascript数组关联AND索引?
我从一个函数返回一个数组,想知道是否可以同时具有字符串关联和数字关联。
例如:
array[0] = green;
array[1] = blue;
array['what'] = colors;
在某种程度上是的,因为它是某种类型的Object。但使用它们是错误的:)将对象({}
)用于命名(字符串)索引,将数组([]
)用于数字索引。
数组只是具有特殊长度属性和一些方便的内置方法的对象。由于数组是对象,它们的属性名称是字符串,但是数组方法访问数字名称("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
在普通对象可以使用的地方使用数组通常被认为是一种糟糕的形式,尽管这样做不会产生任何后果,除非您弄乱了length属性。
相关文章:
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- 对一个对象使用reduce可以返回一个没有't在数组中包含目标字母
- JavaScript-为什么我可以在数组中设置键
- Javascript Float32数组抛出无法读取属性'0'即使数组定义良好,也为null
- JavaScript:是否可以将图像/信息附加到数组项
- 我可以使用JS一次使用JSON数组中的一个字符串吗
- 我需要迭代一个JSON数组——不知道如何做到——已经搜索过了,但仍然可以'我一点也不知道
- javascript数组既可以是数字数组,也可以是关联数组
- ESLint表示,即使元素被推入数组,数组也不会被修改
- JSON数组是否可以包含不同键/值对的对象
- Code Academy JavaScript数组-我可以'我不明白为什么这个代码不正确(新手)
- 每次使用时,我的数组也会保留以前的值
- 即使具有相同的值,排序后的数组也不相同
- 如何添加项目到javascript数组,可以在另一个页面上访问
- 我需要添加一个图像数组,可以使用JavaScript更改按钮图像或数字条目
- javascript和php中字符串和数组的处理速度,以及数组是否可以不加操作地传递给php
- 多维数组-javascript可以使用polygon[i].x而不是polygon[i][j]
- 在设置变量时对数组进行排序后,原始数组也会被排序