【发布时间】:2020-01-31 06:29:00
【问题描述】:
在我的 React 应用程序中,我正在寻找一种干净的方式来循环以下动态数据结构并显示对象属性和值。
样本数据:
data: {
company: [
{
company_name: "XYZ Firm",
company_email: "hello@xyz.com",
company_phone: 91982712,
}
],
shareholders: [
{
shareholder_name: "Lin",
percentage: 45
},
{
shareholder_name: "Alex",
percentage: 10
},
],
employees: [
{
employee_name: "May",
employee_email: "may@xyz.com"
},
]
}
我想要的输出是:
company_name: XYZ Firm
company_email: hello@xyz.com
company_phone: 91982712
shareholder_name: Lin
shareholder_percentage: 45
shareholder_name: Alex
shareholder_percentage: 10
employee_name: May
employee_email: may@xyz.com
这是我迄今为止尝试过的:
//data contains the entire object
const profileInfo = Object.keys(data).map(key => {
let profileSection = [];
for (let values of data[key]) { //retrieve the objects of each "section" e.g., company, shareholders
Object.keys(values).map(key => {
profileSection.push(<p>{key}: {values[key]}</p>);
})
}
return profileSection;
})
我能够达到预期的结果,但我不确定这是否是性能方面的最佳解决方案。嵌套 Object.keys().map 对我来说似乎有点不对劲。
注意:用户将能够添加更多股东/员工。
【问题讨论】:
-
一个建议:尽可能写出最好的代码,尽量不要对性能过于愚蠢,然后只在遇到可衡量的问题时才优化性能。我的猜测是,对于您想要在 UI 中处理的大小数据,双精度
.keys().map()不会有任何明显的影响。此外,您仍然只循环了一次相关数据。 -
感谢您的提示!我会注意的。
标签: javascript arrays reactjs loops javascript-objects