Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

JavaScript ส่งกลับอาร์เรย์ที่มีสตริงทั้งหมดที่ปรากฏในอาร์เรย์ย่อยทั้งหมด


เรามีอาร์เรย์แบบนี้ -

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']