一尘不染

JavaScript获取对象键名

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()尽管这没有用。


阅读 728

收藏
2020-05-01

共1个答案

一尘不染

如果您稍微修改一下措辞,则可能会更好地理解:

var buttons = {
  foo: 'bar',
  fiz: 'buz'
};

for ( var property in buttons ) {
  console.log( property ); // Outputs: foo, fiz or fiz, foo
}

请注意,您要遍历对象的属性,并property在每个后续周期中使用对每个对象的引用。

MSDN说到for ( variable in [object | array ])以下内容:

在循环的每次迭代之前,都会为变量分配对象的下一个属性名称或数组的下一个元素索引。然后,您可以在循环内的任何语句中使用它来引用对象的属性或数组的元素。

还请注意,与数组的索引顺序不同,对象的属性顺序不是恒定的,并且可以更改。可能会派上用场。

2020-05-01