Javascript 获取对象中键的第n个元素

Javascript 获取对象中键的第n个元素,javascript,jquery,Javascript,Jquery,我想返回javascript对象中键hello.com的第三个节点(hello3.com) nodes = { "hello.com": { id:"hello1.com", id2:"hello2.com", id3:"hello3.com" } } 我知道我可以像这样获取所有键/值: newobject = n

我想返回javascript对象中键hello.com的第三个节点(hello3.com)

 nodes = {
        "hello.com":
            { 
                id:"hello1.com",
                id2:"hello2.com",
                id3:"hello3.com"
            }
        }
我知道我可以像这样获取所有键/值:

 newobject = nodes["hello.com"];

但是我怎样才能得到第三个呢。我知道你不能指望一个物体的顺序。如果没有,我可以通过maybeb id3只提取第三个。

通过索引:

关于索引访问,您无法直接实现。您可以得到的最接近的是密钥数组,但这也不能保证返回的密钥的顺序。在其他线程上提供

for (var i in nodes["hello.com"]) { console.log(i);//logs id,id2,id3 };
由节点名命名:

节点[“hello.com”]返回对象。您可以通过使用键来访问值

1) 使用点表示法:

nodes["hello.com"].id3
2) 或者用括号表示

nodes["hello.com"]["id3"]
你可以试试这个

节点={
“hello.com”:{
id:“hello1.com”,
id2:“hello2.com”,
id3:“hello3.com”
}
}
log(节点[“hello.com”][“id3”])使用:


这两种方法都是从给定对象获取id3数据的正确方法

您回答了自己的问题,您说不能指望对象的属性按任何特定顺序排列。如果您的属性本质上是连续的(在您的示例中,您的属性是累积的),那么我建议尝试使用数组

nodes = {
    "hello.com": [
        "hello1.com",
        "hello2.com",
        "hello3.com"
    ]
};
在上面的示例中,您将使用

nodes["hello.com"][2]
双括号表示法是因为
“hello.com”
在引号中允许在名称中使用
。如果键不需要引号,例如
helloCom
,您可以使用

nodes.helloCom[2]

除此之外,如果按顺序命名密钥,则可以强制执行“顺序”。并不是说任何属性都是在另一个属性之前或之后,而是你已经告诉自己你想要它们的顺序。

试试下面的一个表达式

nodes["hello.com"]["id3"]


如果这是您想要的固定键,您可以尝试此
newobject=nodes['hello.com']['id3']
。由于您根本没有数组,因此没有
n元素
对象属性没有固有的顺序。如果要保证顺序,请使用数组。您可以获取所有属性名的列表(
Object.keys(nodes[“hello.com”])
),然后对该列表进行排序,并获取第三个属性名…@JaromandaX我如何将id1、id2和id3作为键hello.com
[{id1:hello1.com}、{id2:hello2.com}、{id3:hello3.com}的值的数组
是将其结构为数组的一种选择,但也保留ID。这很好。这将提取id3的值。因此,除了知道第三个元素的键id3的名称之外,没有办法提取该键的名称和值?@obreezy yes总是在
特定的
情况下,您需要使用
来获取值。否则,循环并打印所有内容。如果有帮助,请接受并投票,以便对他人有所帮助。谢谢。在这种情况下,如何获取hello.com对象keyEdited数组中的第三项!谢谢这里很晚了。英雄联盟
nodes["hello.com"]["id3"]
nodes["hello.com"].id3