簡體   English   中英

在JavaScript中,如何訪問對象數組內的對象屬性?

[英]In JavaScript, how to access object properties inside an array of object?

我有以下對象數組,我正在嘗試訪問測試程序交易的金額和狀態?

輸出量

我可以通過以下方式顯示公司和項目的名稱:

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

如何顯示tester_transaction對象的狀態和數量?

您可以直接從transaction訪問.tester_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)
    }
})
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);
    }
});

不要忘記檢查該屬性是否存在。

    transactions.map((t) => {
    console.log(t. tester_transaction.amount)
  console.log(t.status)
})

此代碼違反了Map的使用。

閱讀有關地圖的更多信息: 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 || '');
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM