我经常看到这样的数据结构:
var settings = {
languages: [
{
language: 'English',
translation: 'English',
langCode: 'en',
flagCode: 'us'
},
{
...
}
]
};
或者这个:
var settings = {
languages: [
{
'en' : {
language: 'English',
translation: 'English',
flagCode: 'us'
}
},
{
...
}
]
};
这可以深入很多层次(在一个对象内通常还有包含更多对象的其他数组)...
如果我们不知道某个对象在数组中的位置,则当必须循环数组才能找到某个对象时,添加数组会带来另一层复杂性。但即使知道它的位置,使用起来仍然比使用纯嵌套对象更复杂,在纯嵌套对象中,所有内容都可以使用点表示法轻松引用。就像本例中一样:
var settings = {
languages: {
'en' : {
language: 'English',
translation: 'English',
flagCode: 'us'
},
'de' : {
...
}
}
};
那么什么时候在对象中使用数组是个好主意,什么时候不合适呢?
最佳答案
我的简单回答
当您需要
key:value
对的集合时使用对象({...}
)当需要对象集合时使用数组 (
[...]
)
其他差异
数组是有序的,而对象则不然
数组会自动使用数字进行索引,对象需要您指定索引
数组有
.length
属性,对象没有
关于javascript - 何时在 JavaScript 对象中使用数组(或混合使用它们)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25801026/