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() хотя это не работало.

61
задан 18 July 2016 в 23:15

2 ответа

Вот простой пример, поможет Вам получить объектное ключевое имя.

var obj ={parts:{costPart:1000, salesPart: 2000}}; console.log(Object.keys(obj));

вывод был бы 'частями';

1
ответ дан 31 October 2019 в 15:28

ES6 обновляет..., хотя и фильтру и карте, возможно, понадобилась бы настройка.

Object.entries(theObj) возвраты [[ключ, значение]] представление в виде массива объекта, который может работаться при использовании методов массива JavaScript, .each (), .any (), .forEach (), .filter (), .map (), .reduce (), и т.д.

, Сохраняет тонну работы над итерацией по частям объекта Object.keys(theObj), или Object.values() отдельно.

const buttons = {
    button1: {
        text: 'Close',
        onclick: function(){

        }
    },
    button2: {
        text: 'OK',
        onclick: function(){

        }
    },
    button3: {
        text: 'Cancel',
        onclick: function(){

        }
    }
}

list = Object.entries(buttons)
    .filter(([key, value]) => `${key}`[value] !== 'undefined' ) //has options
    .map(([key, value], idx) => `{${idx} {${key}: ${value}}}`)
    
console.log(list)
0
ответ дан 31 October 2019 в 15:28

Другие вопросы по тегам:

Похожие вопросы: