繁体   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