ฉันมีอาเรย์ของวัตถุที่ฉันใช้เฉพาะอาเรย์ตำแหน่ง เป้าหมายของฉันคือการรวมอาร์เรย์ตำแหน่งที่ตั้งเหล่านี้เข้ากับหนึ่งอาร์เรย์อย่างไรก็ตามฉันไม่สามารถทำเช่นนั้นและรับอาร์เรย์ว่าง นี่คือวิธีที่ฉันทำ:
let results = [{
id: '1',
locations: ['aaaa', 'bbbbbb', 'cccccc']
},
{
id: '2',
locations: []
},
{
id: '3',
locations: ['ddd', 'aaadsad', 'sefd']
},
{
id: '4',
locations: ['ffff', 'eeee', 'sfdsfsd']
},
];
const locationIds = [].concat.apply([], ...results.filter(s => s.locations && s.locations.length > 0).map(({
locations
}) => ({
locations
})));
console.log(locationIds);
ฉันทำอะไรผิดที่นี่ ผลควรเป็น
['aaaa', 'bbbbbb', 'cccccc', 'ddd', 'aaadsad', 'sefd', 'ffff', 'eeee', 'sfdsfsd'];
flatMapชอบได้ที่นี่: stackoverflow.com/questions/39837678/…