No entanto, não podemos usar o operador de igualdade para comparar as matrizes. A razão por trás disso é que a matriz JavaScript é um tipo de objeto e os objetos são comparados com base nas referências das variáveis e não nos valores.
const array1 = [1, 2, 3];No código acima, inicializamos duas matrizes que são iguais. No entanto, na saída, veremos falso:
Portanto, para resolver esse problema, neste post, aprenderemos algumas maneiras de comparar duas matrizes em JavaScript.
Método 1: ToString ()
O para sequenciar() O método é um método embutido de JavaScript que converte qualquer tipo de dados como o número inteiro em uma string e depois retorna esse número inteiro como uma string. Podemos aplicar o para sequenciar() Método em uma matriz, que converterá a matriz em uma string e depois comparará a string com a outra string.
const array1 = [1, 2, 3];No código acima, inicializamos três matrizes e depois aplicamos o para sequenciar() Método nas matrizes e primeiro comparou o Array1 ao Array2 e retornou o resultado no console. Da mesma maneira, comparamos o Array1 com o Array3 e o Console Log o resultado:
Da saída acima, podemos ver que "Array1" é igual a "Array2", mas "Array1" não é igual a "Array3".
Método 2: Usando para Loop
Vamos passar por outro método em que verificaremos manualmente os elementos de duas matrizes e depois geraremos uma saída. Para esse fim, deixe -me mostrar o código primeiro:
Função comparaRrays ()No código acima, definimos uma função em que inicializamos duas matrizes primeiro. Depois, definimos uma condição para verificar o comprimento das matrizes.
Se o comprimento das duas matrizes não for igual, isso significa que as duas matrizes são diferentes, portanto, a função retornará falsa.
No entanto, se o comprimento for o mesmo, então definimos um loop para verificar todos os elementos de ambos os matrizes. Se mesmo um elemento não for igual, o falso será devolvido. Se todos os elementos de ambas as matrizes forem correspondidos, ela retornará verdadeiro.
A saída do código acima é mostrada abaixo:
Se alterarmos um pouco o código, fornecendo duas matrizes iguais e.G:
Função comparaRrays ()A seguinte saída será gerada:
Conclusão
Não podemos comparar duas matrizes em JavaScript usando o operador da igualdade == ou === porque as matrizes JavaScript são objetos e, portanto, a referência é verificada e não os valores. Para esse fim, definimos dois métodos nesta postagem para comparar matrizes. No primeiro método, usamos o método interno para sequenciar() onde convertemos as matrizes para cordas primeiro e depois verificamos as duas cordas retornadas usando o operador de igualdade. No segundo método, primeiro verificamos manualmente o comprimento e depois comparamos todos os elementos das duas matrizes, uma por uma usando o loop for.