то есть файл с расширением .wav может быть и не .wav файлом?
А так же, не совсем понятно что с ним делать.
let one = ['one', 'two', 'three', 'four', 'five'];
let two = ['a', 'b', 'five', 'c', 'one'];
let tmp = [...one, ...two] // эта часть так же имеет сложность, но от нее можно избавиться
.reduce((a,v)=>{a[v]?a[v]++:a[v]=1; return a},{}); // O(n1+n2)
let res = Object.keys(tmp)
.filter(k=>tmp[k]-1); // в минимуме O(max(n1,n2)) в максимуме O(n1+n2)
мы тут на специализированом ресурсе
Не надо вкладывать в термины какой-то свой смысл
О терминах не спорят, о них договариваются