說出如果您無法通過像objectName.objectItem
這樣的點符號訪問對象內的某個項目,即它在時間上具有隨機名稱。有沒有辦法像第二個項目一樣選擇訪問它?如何選擇對象內的第n個項目
如何只知道它是第二個項目有?:鍵
something: {
item1: "text",
item2: "text",
item3: "text:,
...
}
說出如果您無法通過像objectName.objectItem
這樣的點符號訪問對象內的某個項目,即它在時間上具有隨機名稱。有沒有辦法像第二個項目一樣選擇訪問它?如何選擇對象內的第n個項目
如何只知道它是第二個項目有?:鍵
something: {
item1: "text",
item2: "text",
item3: "text:,
...
}
順序不是固定的JavaScript對象獲得ITEM2從該對象。
您可以嘗試
var secondKey = Object.keys(something)[1]; //fetched the key at second index
alert(something[secondKey ]);
對象鍵沒有順序,但是您可以定義訂單的鑰匙你自己的二元關係。
說,你只考慮開始與"item"
鍵和數字後綴,如item23
,那麼你就可以按自己的定義翻譯到這個數目23
並決定item23
是你的數組中的項目。
請注意,這完全是任意的,只有在你想要的代碼中才有它。也就是說,你可以實現一個過濾所有鍵的功能(只考慮那些以"item"
開頭的鍵),將數字後綴解析爲一個數字,然後將其與你想要的項目索引進行比較。
此代碼不正是我一直認爲你想做的事:
function nth(obj, n)
{
var key, i;
for (key in obj)
{
if (obj.hasOwnProperty(key)) // always do this when you scan an object
{
if (key.indexOf("item") === 0) // this is the filter
{
i = parseInt(key.substring(4), 10); // parse the numeral after "item"
if (i === n)
{
return obj[key]; // return this value
}
}
}
}
return null;
}
鍵的順序不是固定的JavaScript對象 – gurvinder372
您可以使用Object.keys();但順序不能保證是你期望的; – maioman