Corrige el error / al comparar arreglos (Parte #2)

Crea una función que devuelva true si dos arreglos de la misma longitud tienen valores numéricos idénticos en cada índice, y false en caso contrario.

Para resolver esta pregunta, tu amigo escribió inicialmente el siguiente código (consulta este reto):

function checkEquals(arr1, arr2) {
  if (arr1 === arr2) {
    return true
   } else {
    return false
   }
}

Si no sabes con certeza por qué el código anterior no funciona, te recomiendo completar primero ese reto.

Tu amigo investigó un poco más y corrigió el código de la siguiente manera:

function checkEquals(arr1, arr2) {
  if (arr1.join("") === arr2.join("")) {
    return true
   } else {
    return false
   }
}

Funciona en la mayoría de los casos, pero falla en algunos. Esto lo tiene confundido. ¿Puedes detectar el error y corregirlo?

Ejemplos

checkEquals([1, 2], [1, 3]) ➞ false

checkEquals([1, 2], [1, 2]) ➞ true

checkEquals([4, 5, 6], [4, 5, 6]) ➞ true

checkEquals([4, 7, 6], [4, 5, 6]) ➞ false

checkEquals([1, 12], [11, 2]) ➞ false

Notas

N/A