["diorite", "andesite", "grass", "dirt", "pink wool", "dead shrub"]
,
["diorite", "andesite", "grass", "dirt", "dead shrub"]
should return
["pink wool"]
.
Because "pink wool is not present in first array i.e arr1.But it is returning an empty array.This code is working fine with numbers only Array.But when array includes only string or strings with numbers the code does not work.
function diff(arr1, arr2) {
var newArray = arr2.concat(arr1); //first joininng both arrays inn one and storing it in newArray
var newestArray = [];
for (var i=0 ; i<newArray.length ; i++) { //NOW COMPARING EACH ELEMENT OF newArray WITH ARR1 AD ARR2 AND PUSHING NOT SAME VALUES TO newestArray
if (arr1.indexOf(newArray[i]) == -1) {
newestArray.push(newArray[i]);
if (arr2.indexOf(newArray[i]) == -1) {
newestArray.push(newArray[i]);
}
}
}
return newestArray.filter(Boolean); //It is returning an empty arrray but it should return "pink wool"
}
diff(["diorite", "andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"]);