簡體   English   中英

獲取對象中鍵的第n個元素

[英]Get nth element of a key in an object

我想在JavaScript對象中返回關鍵hello.com的第三個節點(hello3.com)。

 nodes = {
        "hello.com":
            { 
                id:"hello1.com",
                id2:"hello2.com",
                id3:"hello3.com"
            }
        }

我知道我可以像這樣獲取所有鍵/值:

 newobject = nodes["hello.com"];

但是我將如何獲得第三。 我知道您不能指望對象中的訂單。 如果沒有的話,我能不能用ID3拉第三個。

你可以試試看

  nodes = { "hello.com": { id: "hello1.com", id2: "hello2.com", id3: "hello3.com" } } console.log(nodes["hello.com"]["id3"]); 

當您說不能依靠某個特定順序的對象屬性時,您回答了自己的問題。 如果您的屬性本質上是順序的(在您的示例中,您的屬性正在增加),那么我建議嘗試使用數組。

nodes = {
    "hello.com": [
        "hello1.com",
        "hello2.com",
        "hello3.com"
    ]
};

在上面的示例中,您將使用

nodes["hello.com"][2]

雙括號表示法是因為"hello.com"用引號引起來以允許使用. 在名字里。 如果密鑰不需要引號,例如helloCom ,則可以使用

nodes.helloCom[2]

除此之外,如果您按順序命名密鑰,則可以強加一個“命令”。 這並不是說任何屬性在字面上是在另一個屬性之前或之后,而是您已告知自己打算將其設置為什么順序。

按索引:

關於按索引訪問,您不能直接實現。 您可以得到的最接近的是鍵數組,但是也不能保證鍵返回的順序。 請參閱其他線程上提供的答案

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

由NODENAME:

nodes [“ hello.com”]返回對象。 您可以使用鍵通過以下方式訪問值

1)使用點表示法:

nodes["hello.com"].id3

2)或按括號表示

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

采用:

nodes['hello.com'].id3 or nodes['hello.com']['id3']

兩者都是從給定對象獲取ID3數據的正確方法

嘗試以下表達式之一

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

要么

nodes["hello.com"].id3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM