Check Similarity

Check if two arrays are similar to one another, without using sort.

const arr1 = [1, 2, 3, 4, 5];
const arr2 = [5, 4, 3, 2, 1];
const arr3 = [5, 4, 3, 2, 1, 6];

function similar(a, b) {
  const bset = new Set(b);
  return a.length === b.length && a.reduce((prev, curr) => {
    if (!prev) return false;
    if (bset.has(curr) < 0) return false;
    return true;
  }, true);
}

// preferred solution. 
function similar2(a, b) {
  const bset = new Set(b);
  return a.length === b.length && a.every(num => bset.has(num));
}

console.log(similar2(arr1, arr2)); // true
console.log(similar2(arr1, arr3)); // false