Trying to remove any number that appears in both arrays:

```
function diff(args) {

  var diff = [].concat.apply([],arguments).reduce(
    function(result, current) {

      console.log("result: " + result);
      console.log("current: " + current);
      console.log("result.indexOf(current): " + result.indexOf(current));

      return result.indexOf(current) === -1 
      ? result.concat(current) 
      : result.splice(result.indexOf(current), 1);
    }, []
  );
  console.log("diff: " + diff); 
  return diff;
}

console.clear();
diff([1, 2, 3], [5, 2, 1, 4]);

```

However the console indicates that:

```
Console was cleared
result: 
current: 1
result.indexOf(current): -1
result: 1
current: 2
result.indexOf(current): -1
result: 1,2
current: 3
result.indexOf(current): -1
result: 1,2,3
current: 5
result.indexOf(current): -1
result: 1,2,3,5
current: 2
result.indexOf(current): 1
result: 2
current: 1
result.indexOf(current): -1
result: 2,1
current: 4
result.indexOf(current): -1
diff: 2,1,4

```

Why is the slice statement being ignored and rather resetting my result var with the current var?

Ideally I thought that result.splice(result.indexOf(current), 1) on the first find would result in:

1,3,5

not 

2