Поиск совпадений между несколькими массивами 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 в качестве примера.