猿问

JavaScript获取对象键名

我如何获得后续的密钥名称?例如,我要“ 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()尽管这没有用。


倚天杖
浏览 851回答 3
3回答

慕婉清6462132

ECMAscript第5版还为您提供了简洁的方法Object.keys()和工具Object.getOwnPropertyNames()。所以Object.keys( buttons );  // ['button1', 'button2'];

慕尼黑8549860

假设您有权访问原型,则可以使用。几分钟前,我为自己编写了这段代码;我一次只需要一个键,因此这对于大量的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"
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答