Corrija o erro: tipos por valor e por referência
Crie uma função que retorne true se dois arrays contiverem valores idênticos e false caso contrário.
Para resolver esta questão, seu amigo escreve o seguinte código:
function checkEquals(arr1, arr2) {
if (arr1 === arr2) {
return true
} else {
return false
}
}Mas, ao testar o código, você percebe que algo não está certo. Ao executar o código, o resultado é o seguinte:
checkEquals([1, 2], [1, 3]) ➞ false
// Good so far...
checkEquals([1, 2], [1, 2]) ➞ false
// Yikes! What happened?Reescreva o código do seu amigo para que ele verifique corretamente se dois arrays são iguais. Para serem iguais, os arrays devem ter os mesmos elementos na mesma ordem. Os testes abaixo devem passar:
Exemplos
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([4, 7, 6], [4, 6, 7]) ➞ falseNotas
Dica: isso tem a ver com tipos por valor e tipos por referência.