我如何获得后续的密钥名称?例如,我要“ button1”和“ button2”?var buttons = { button1: { text: 'Close', onclick: function(){ } }, button2: { text: 'Close2', onclick: function(){ } }}var i;for(i in buttons){ if(buttons.hasOwnProperty(i)){ alert(buttons[i].text); }} 我尝试使用,.push()尽管这没有用。
3 回答
慕婉清6462132
TA贡献1804条经验 获得超2个赞
ECMAscript第5版还为您提供了简洁的方法Object.keys()和工具Object.getOwnPropertyNames()。
所以
Object.keys( buttons ); // ['button1', 'button2'];
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
假设您有权访问原型,则可以使用。几分钟前,我为自己编写了这段代码;我一次只需要一个键,因此这对于大量的key:value对列表或吐出多个键名不是很省时。
function key(int) {
var j = -1;
for(var i in this) {
j++;
if(j==int) {
return i;
} else {
continue;
}
}
}
Object.prototype.key = key;
该编号的工作方式与阵列相同,可避免麻烦。对于您的代码:
buttons.key(0) // Should result in "button1"
添加回答
举报
0/150
提交
取消