[英]Remove nested array from array of arrays
首先,我不完全确定这是否是解决我遇到的问题的正确方法,但它就在这里。
我有两个 arrays
const projects = ["PP", "JJ"]
const issues = ["10000", "10002", "100003"]
对于每个问题,我都想像这样创建一个 object:
{
"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)
但是正如您所看到的,我在最后得到了一个 arrays 的数组,我很确定这是由于 double.map 逻辑。
1st - 有没有更好的方法来实现我的目标?
第二 - 如果不是,如何删除内部数组并获得一个
谢谢
使用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)
你可以试试这个
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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.