Поиск совпадений между несколькими массивами JavaScript

У меня есть несколько массивов со строковыми значениями, и я хочу сравнить их и сохранить только совпадающие результаты, которые совпадают междуALL из них.

Учитывая этот пример кода:

var arr1 = ['apple', 'orange', 'banana', 'pear', 'fish', 'pancake', 'taco', 'pizza'];
var arr2 = ['taco', 'fish', 'apple', 'pizza'];
var arr3 = ['banana', 'pizza', 'fish', 'apple'];

Я хотел бы создать следующий массив, который содержит совпадения из всех заданных массивов:

['apple', 'fish', 'pizza']

Я знаю, что могу объединить все массивы сvar newArr = arr1.concat(arr2, arr3); но это просто дает мне массив со всем, плюс дубликаты. Может ли это быть легко сделано без необходимости использования дополнительных библиотек, таких как underscore.js?

(Отлично, иnow я тоже голоден!)

EDIT Полагаю, я должен упомянуть, что может быть неизвестное количество массивов, я просто использовал 3 в качестве примера.

Ответы на вопрос(9)

Ваш ответ на вопрос