说出如果您无法通过像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