我有一个这样格式的代码:
export const formatAgreementsData = (t, agreementsData, statesList) => agreementsData.map((item) => ({
[t("tables:headers.name")]: item.full_name,
[t("tables:headers.title")]: item.agreements.agreement_title,
...
它正在为每个"item"创建一个表行(这是一个"雇员")。但是,我希望它为每个"item.agreements"创建一行。例如,一个雇员可以有5个协议,我希望它创建5行,重复雇员的full_name 5次,并为雇员拥有的5个协议中的每个协议迭代标题。
你可以使用Array.prototype.flat()来获得你想要的。
见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flat)
例如:
export const formatAgreementsData = (t, agreementsData, statesList) =>
agreementsData.map(item =>
item.agreements.map(agreement => {
return {
[t("tables:headers.name")]: item.full_name,
[t("tables:headers.title")]: agreement.title,
...
}
})
).flat()