Javascript 获取对象中键的第n个元素
我想返回javascript对象中键hello.com的第三个节点(hello3.com)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
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