【发布时间】:2015-11-21 00:54:59
【问题描述】:
如果我执行以下操作,
var array = [];
array['foo'] = [];
console.log(array.length) // => 0
console.log 打印 0 长度。
有没有办法在 javascript 中将键值推送到数组?一般来说,这是一个坏主意吗?我需要自己更新长度吗?
可以选择使用此处推荐的括号表示法 (SO - JavaScript Array Push key value)。
但稍后在代码中我想推送到对象/数组,因此建议再次使用数组 (SO - Appending to an object)。
所以我不太确定要使用哪种数据结构。对于我的任务,我想我需要键值。它是一个异步任务,我不能依赖未命名数组中的顺序。但从我目前阅读的内容来看,附加到对象似乎也是一种黑客攻击。
【问题讨论】:
-
length只计算数值数组元素,不计算命名属性。 -
通常命名的属性用于对象,而数组只有数字索引。你为什么要把属性放在一个数组上?
-
For my task I guess I need key-values.然后使用一个对象。否则,您需要扩展您的问题,向我们展示您到底想要做什么。 -
@Bamar 数据是异步填充的,所以我认为这是以后访问正确值的更好方法。
-
您应该将其用作 key-value 的对象;检查长度(道具数量)检查jsfiddle.net/maio/k8wz7862
标签: javascript arrays