DEV Community

Discussion on: Diff Array Algorithm: JavaScript

Collapse
 
lexlohr profile image
Alex Lohr

You can do it in a single loop if you use separate indices:

const diffArray = (arr1, arr2) => {
  const difference = []
  let index1 = 0
  let index2 = 0
  while (index1 < arr1.length || index2 < arr2.lenght) {
    if (arr1[index1] === arr2[index2]) {
      index1++
      index2++
    } else if (arr1.length >= arr2.lenght) {
      difference.push(arr1[index1++])
    } else {
      difference.push(arr2[index2++])
    }
  }
  return difference
}
Enter fullscreen mode Exit fullscreen mode