簡體   English   中英

從 javascript 中提取數組 object

[英]Extract array from javascript object

我有以下 javascript object -(命名為 Division)我只想從數組中提取 SubDivs

我試過了: -

 const division = [{ Name: "DivName1", Value: "DivValue1", SubDivision: { Name: "SubDiv1", Value: "SubDiv1" } }, { Name: "DivName2", Value: "DivValue2", SubDivision: [{ Name: "SubDiv2", Value: "SubDiv2" }, { Name: "SubDiv3", Value: "SubDiv3" } ] } ] var subDivs = division.map(x => x.SubDivision); console.log(subDivs)

但這並沒有給我格式的數組 -

[{
Name:"SubDiv1",
Value:"SubDiv1"
},
{
Name:"SubDiv2",
Value:"SubDiv2"
},
{
Name:"SubDiv3",
Value:"SubDiv3"
}]

您可以為此使用 flatMap

 const division = [{ Name: "DivName1", Value: "DivValue1", SubDivision: [{ Name: "SubDiv1", Value: "SubDiv1" }] }, { Name: "DivName2", Value: "DivValue2", SubDivision: [{ Name: "SubDiv2", Value: "SubDiv2" }, { Name: "SubDiv3", Value: "SubDiv3" } ] } ] const subdivision = division.flatMap(d => d.SubDivision) console.log(subdivision)

鑒於您的示例,您需要做的就是在映射數組上調用flat

var subDivs= division.map(x=>x.SubDivision).flat();

工作示例:

 const division = [{ Name: "DivName1", Value: "DivValue1", SubDivision: [{ Name: "SubDiv1", Value: "SubDiv1" } ]}, { Name: "DivName2", Value: "DivValue2", SubDivision: [{ Name: "SubDiv2", Value: "SubDiv2" }, { Name: "SubDiv3", Value: "SubDiv3" } ] } ] var subDivs= division.map(x=>x.SubDivision).flat(); console.log(subDivs)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM