我有以下对象,我正在努力将两个数组展平,以便它们成为一个数组。
这是对象
{
"id":"575802",
"listOfStuff":[
"AB",
],
"listOfDocs":[
[
{
"doc_id":"123456",
"id":"123",
"filename":"myFileName.pdf",
}
],
[
{
"doc_id":"1234",
"id":"123",
"filename":"myFileName2.pdf",
}
]
]
}
这是我想要的输出:
{
"id":"575802",
"listOfStuff":[
"AB",
],
"listOfDocs":[
{
"doc_id":"123456",
"id":"123",
"filename":"myFileName.pdf",
} ,
{
"doc_id":1234,
"id":"123",
"filename":"myFileName2.pdf",
}
]
}
我已尝试执行以下操作来展平数组,但没有奏效。
Array.prototype.concat.apply([], row.listOfDocs);
最佳答案
const data = {
"id": "575802",
"listOfStuff": [
"AB"
],
"listOfDocs": [[
{
"doc_id": "123456",
"id": "123",
"filename": "myFileName.pdf"
}],
[{
"doc_id": 1234,
"id": "123",
"filename": "myFileName2.pdf"
}
]]
}
data.listOfDocs = data.listOfDocs.reduce((acc, val) => acc.concat(val), [])
console.log(data);
您可以使用 .flat()
,您还需要一个用于 IE 的 polyfill。
您可以使用上述解决方案来解决您的问题,而不是使用 flat。
关于javascript - 我正在努力展平一个对象中的两个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57110978/