簡體   English   中英

基於其中的數組將 javascript 對象合並到數組中

[英]Merge javascript objects in an array based on an array inside it

將數組重組為 output 的最佳方法是什么? 我需要將所有值鍵(無論是否數組)合並到共享相同名稱鍵的對象中。 這里有類似的東西,但這並不能回答我的問題,因為我也有 arrays 。

var array = [{
  VULN: [{random1:"asd11",random2:"asd12"}, {random3:"asd23",random4:"asd24"}]
}, {
  VULN: [{random5:"asd35",random6:"asd36"}, {random7:"asd47",random8:"asd43"}]
}, {
  VULN: [{random9:"asd55",random10:"asd51"}, {random11:"asd56",random12:"asd63"}]
}];

VULN=[{random1:"asd11",random2:"asd12"}, {random3:"asd23",random4:"asd24"},{name:"asd3",value:"asd3"}, {random5:"asd35",random6:"asd36"}, {random7:"asd47",random8:"asd43"}, {random9:"asd55",random10:"asd51"}, {random11:"asd56",random12:"asd63"}]

這是你想要的:

 var array = [{ VULN: [{ name: "asd1", value: "asd1" }, { name: "asd2", value: "asd2" }] }, { VULN: [{ name: "asd3", value: "asd3" }, { name: "asd4", value: "asd4" }] }, { VULN: [{ name: "asd5", value: "asd5" }, { name: "asd6", value: "asd6" }] }]; console.log(array.map(x => x.VULN).flat())

使用flatMap

array.flatMap(x => x.VULN);

使用lodash

lodash.flatten(array.map(x => x.VULN))

暫無
暫無

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

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