เรามีอาร์เรย์แบบนี้ -
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']