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