Avi*_*ian 1 javascript arrays json object
比方说,我有以下Javascript对象:
var Object = {
Person_A: { name: 'James', age: 40, country: 'Spain' },
Person_B : { name: 'Smith', age: 50, country: 'France' }
}
Run Code Online (Sandbox Code Playgroud)
我想知道对象中有多少属性Object,并以数字方式访问这些属性,例如通过Object[n].
到目前为止(我不太使用Javascript对象,但在使用AJAX时我确实使用JSON作为返回格式)我不知道Javascript对象没有length方法,也无法以数字方式访问.
我试图将Javascript对象转换为在进行AJAX调用时返回的相同类型的JSON(JSON作为具有长度方法的对象返回,并且在数字上可访问 - 只需读取另一个线程,也许我就是'我错了 - 现在仔细检查)使用JSON.parse(JSON.stringify(Object))但只是返回相同的确切对象.
所以,我的问题是,采用像示例这样的对象的最有效方法是什么,并使其可以在数字上访问并有一个length方法.
非常感谢任何帮助(请询问您是否需要澄清我的问题).
谢谢.
小智 5
这不能用意义来完成.JavaScript对象的属性没有固有的顺序1.
该length属性是Arrays 的特殊成员.(数组只是具有特定[[原型]]的对象,并且理解如何神奇地更新length- 并且定义了一些其他内部规则 - 就是这样!)
更新评论:
如果索引是必需的,请使用数组:
var people = [
{ id: "Person_A", data: { name: 'James', age: 40, country: 'Spain' } },
{ id: "Person_B", data: { name: 'Smith', age: 50, country: 'France' } }
]
people[0].id // "Person_A"
Run Code Online (Sandbox Code Playgroud)
1 JSON" 只有在序列化为文本时才具有顺序" ,但实现(包括将其转换为JavaScript对象的实现)在没有关于顺序的访问[或假设]的情况下工作; 有对性能没有订单保证每JSON标准.仅仅因为对象中的属性"看起来"在JSON(或JS对象文字)中排序,并不意味着订单.
| 归档时间: |
|
| 查看次数: |
207 次 |
| 最近记录: |