simple array compare and diff

by Stalk

HTML

<pre style="width: 500px; height: 300px;">
array1    |     array2    | is_equal  | difference
--------------------------------------------------
</pre>

JavaScript

diff = function (a1, a2) {
    return a1.filter(i=>a2.indexOf(i)<0)
    .concat(a2.filter(i=>a1.indexOf(i)<0))
}
compare = function (a1, a2) {
    return a1.length == a2.length && a1.every((v,i)=>v === a2[i])
}

// test
var a1, a2, diffResult, compResult

a1 = [1,2,3]
a2 = [1,2,3]
compResult = compare(a1, a2)
diffResult = diff(a1, a2)
log()

a1 = [1,2,3]
a2 = [3,2,1]
compResult = compare(a1, a2)
diffResult = diff(a1, a2)
log()

a1 = [1,2,3]
a2 = [2,3,4]
compResult = compare(a1, a2)
diffResult = diff(a1, a2)
log()

a1 = [1,2,3]
a2 = ['1','2','3']
compResult = compare(a1, a2)
diffResult = diff(a1, a2)
log()

a1 = [1,2,3,4]
a2 = [1,2,3]
compResult = compare(a1, a2)
diffResult = diff(a1, a2)
log()

a1 = [1,2,3]
a2 = [1,2,3,4]
compResult = compare(a1, a2)
diffResult = diff(a1, a2)
log()

function log() {
    document.getElementsByTagName('pre')[0].innerHTML += "["+a1.toString()+"] \t["+a2.toString()+"] \t"+compResult.toString()+"\t["+diffResult.toString()+"]\n"
}