JavaScript - Difference of two arrays

Compare two arrays and return a new array with any items only found in one of the two given arrays, but not both.In other words, return the symmetric difference of the two arrays.

Note:
You can return the array with its elements in any order.

Solution 1 Basic approach

`function diffArray(arr1, arr2) {    var newArr = [];    function newFnc(newArr1, newArr2) {        for (var i = 0; i < newArr1.length; i++) {            if (newArr2.indexOf(newArr1[i]) < 0) {                newArr.push(newArr1[i]);            }        }    }    newFnc(arr1, arr2);    newFnc(arr2, arr1);    return newArr;}console.log(diffArray(["diorite", "andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"]));`

Output:

`[ 'pink wool' ]`

Solution 2 Declarative approach

`function diffArray(arr1, arr2) {    return [...diff(arr1, arr2), ...diff(arr2, arr1)];    function diff(a, b) {        return a.filter(item => b.indexOf(item) === -1);    }}console.log(diffArray(["diorite", "andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"]));`

Output:

`[ 'pink wool' ]`