首先,我不完全確定這是否是解決我遇到的問題的正確方法,但它就是這樣。
我有兩個陣列
const projects = ["PP", "JJ"]
const issues = ["10000", "10002", "100003"]
對于每個問題,我想創建一個像這樣的物件:
{
"issueTypeId": "10002",
"projectId": "PP",
"viewType": "GIC"
}
最后以一組物件結束,例如:
[{
"issueTypeId": "10002",
"projectId": "PP",
"viewType": "GIC"
},
{
"issueTypeId": "10000",
"projectId": "PP",
"viewType": "GIC"
}]
到目前為止,這是我的邏輯
const projects = ["PP", "JJ"]
const issues = ["10000", "10002", "100003"]
const p = issues.map(issue => {
return projects.map(project => {
return {issueTypeId: issue, projectId: project, viewType: "GIC"}
})
})
console.log(p)
但正如你所看到的,我最后得到了一個陣列陣列,我很確定這是由于雙 .map 邏輯。
1st - 有沒有更好的方法來實作我的目標?
第二 - 如果沒有,如何洗掉內部陣列并獲得一個
謝謝
uj5u.com熱心網友回復:
使用flatMap而不是map. 另外,通過明智地選擇變數并使用箭頭函式的縮寫形式,您可以使用以下內容:
const projects = ["PP", "JJ"],
issues = ["10000", "10002", "100003"],
viewType = "GIC",
p = issues.flatMap(issueTypeId =>
projects.map(projectId => ({issueTypeId, projectId, viewType}))
);
console.log(p)
uj5u.com熱心網友回復:
你可以試試這個
const projects = ['PP', 'JJ'];
const issues = ['10000', '10002', '100003'];
let outArray = [];
issues.forEach((i) => {
projects.forEach((p) => {
outArray.push({
issueTypeId: i,
projectId: p,
viewType: 'GIC',
});
});
});
console.log(outArray);
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/465561.html
標籤:javascript 数组 打字稿
