เรามีอาร์เรย์ของอาร์เรย์แบบนี้
const arr = [ ['foo', 'bar', 'hey', 'oi'], ['foo', 'bar', 'hey'], ['foo', 'bar', 'anything'], ['bar', 'anything'] ]
เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์แบบนี้และคืนค่าอาร์เรย์ที่มีสตริงทั้งหมดซึ่งปรากฏในทุกซับอาร์เรย์
มาเขียนโค้ดสำหรับฟังก์ชันนี้
ตัวอย่าง
const arr = [ ['foo', 'bar', 'hey', 'oi'], ['foo', 'bar', 'hey'], ['foo', 'bar', 'anything'], ['bar', 'anything'] ]
const commonArray = arr => {
return arr.reduce((acc, val, index) => {
return acc.filter(el => val.indexOf(el) !== -1);
});
};
console.log(commonArray(arr));
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็นดังนี้
['bar']