Вопрос
Сравните два массива и верните новый массив с любыми элементами, найденными только в одном из двух указанных массивов, но не в обоих. Другими словами, вернуть симметричную c разницу двух массивов.
Примечание. Вы можете вернуть массив с его элементами в любом порядке.
Ответ профессионального разработчика
function diffArray(arr1, arr2) {
return [...diff(arr1, arr2), ...diff(arr2, arr1)];
function diff(a, b) {
return a.filter(item => b.indexOf(item) === -1);
}
}
Мой вопрос
Я не понимаю, как работает этот код. В частности, я никогда не видел, чтобы оператор распространения использовался таким образом. Не могли бы вы объяснить, как это работает?