Доступ к объекту внутри другого объекта в javascript - PullRequest
0 голосов
/ 19 марта 2020

У меня есть следующий объект:

DOMAIN_ROLE:{
    type: "Domain"
    DomainName: "XYZ"
    DomainCode: 21
    Title: "People Role"
    CodedValues:{
        1: {Code: 1, Label: "Land"},
        2: {Code: 2, Label: "Forest"},
        3: {Code: 3, Label: "Public"},
        4: {Code: 4, Label: "Single"},
        5: {Code: 5, Label: "Private"}
       }
}

Я пытаюсь сопоставить эти данные, где объект с именем "CodedValues" имеет индексы 1, 2 и 5, как показано ниже:

{Object.keys(DOMAIN_ROLE.CodedValues[1,2,5]).map(key =>{
          return (
          <div>...</div>
            );
}

Проблема заключается в том, что при отображении «ключ» получает значение в виде «Код» вместо числа, т.е. 1,2,3 ... кажется, ключ становится ключом = CodedValues.Code, где я хочу работать как ключ = 1, ключ = 2, ключ = 5

Пытался объяснить в лучшем виде. Любое предложение будет полезно.

Ответы [ 2 ]

1 голос
/ 19 марта 2020

let DOMAIN_ROLE = {
    type: "Domain",
    DomainName: "XYZ",
    DomainCode: 21,
    Title: "People Role",
    CodedValues:{
        1: {Code: 1, Label: "Land"},
        2: {Code: 2, Label: "Forest"},
        3: {Code: 3, Label: "Public"},
        4: {Code: 4, Label: "Single"},
        5: {Code: 5, Label: "Private"}
       }
}

// you can use object destructuring to get the data by key.

const {1:first,2:second, 5:fifth} = DOMAIN_ROLE.CodedValues;

console.log(first,second, fifth)


//[first, second, fifth].map(()=>{})
0 голосов
/ 19 марта 2020

DOMAIN_ROLE.CodedValues[1,2,5] не совсем то, что вы ожидаете (получите предметы с ключами 1,2 и 5). Вы должны получить все ключи, отфильтровать их и использовать их:

Object.keys(DOMAIN_ROLE.CodedValues).filter(k => /* filter logic */).map(key => {
    // Use key here: DOMAIN_ROLE[key]
});

Это полезно, если вы хотите отфильтровать ключи на основе некоторых логик c. Если вы собираетесь жестко закодировать ключи, почему бы просто не использовать ['1', '2', '5'].map(key => { /**/ }); в качестве @str в комментариях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...