В JavaScript, как получить доступ к свойствам объекта внутри массива объекта? - PullRequest
0 голосов
/ 28 августа 2018

У меня есть следующий массив объектов, и я пытаюсь получить доступ к сумме и статусу транзакции тестера?

Output

Я могу отобразить название компании и проекта с помощью следующего:

transactions.map((transaction, index) => {
    console.log(transaction.company_name)
    console.log(transaction.project_name)
})

Как бы я отобразил статус и сумму, которая является частью объекта tester_transaction?

Ответы [ 4 ]

0 голосов
/ 28 августа 2018

Этот код нарушает использование карты.

Подробнее о карте: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map

Пожалуйста, используйте простой цикл for of.., так как ваша цель - просто извлечь значение и напечатать его.

for(const transaction of transactions) {
  console.log(transaction.company_name || '');
  console.log(transaction.project_name || '');

  if(!transaction. tester_transaction)
    continue;

  console.log(transaction.tester_transaction.amount || '');
  console.log(transaction.tester_transaction.status || '');
} 
0 голосов
/ 28 августа 2018
transactions.map((transaction, index) => {
    if(transaction.hasOwnProperty("company_name")){
       console.log(transaction.company_name);
    }
    if(transaction.hasOwnProperty("company_name")){
       console.log(transaction.project_name);
    }
    if(transaction.hasOwnProperty("tester_transaction")){
       console.log(transaction.tester_transaction.amount);
    }
    if(transaction.hasOwnProperty("tester_transaction")){
       console.log(transaction.tester_transaction.status);
    }
});

Не забудьте проверить, что свойство существует.

0 голосов
/ 28 августа 2018
    transactions.map((t) => {
    console.log(t. tester_transaction.amount)
  console.log(t.status)
})
0 голосов
/ 28 августа 2018

Вы можете получить доступ к .tester_transaction объекту и его свойствам непосредственно из transaction (и проверить, определено ли tester_transaction):

transactions.map((transaction, index) => {
    console.log(transaction.company_name)
    console.log(transaction.project_name)

    if (transaction.tester_transaction !== undefined) {
      console.log(transaction.tester_transaction.status)
      console.log(transaction.tester_transaction.amount)
    }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...