2
respostas

como que a variavel A é menor que a variável B?

eu não sei se é alguma coisa óbvia mas eu testei várias vezes e sempre dava o mesmo, eu sei que A e B não são numeros e sim uma array mas mesmo assim devem representar um valor numérico, como que A é menor que B se possuí mais elementos e seus elementos são superiores aos de B?

const a = [10,100,15,500]

const b = [9,1]

console.log(a > b)

Info: Start process (22:28:22)

false

Info: End process (22:28:22)

2 respostas

Se quer qual array é maior em numero de elementos, deve usar .length console.log(a.length > b.length), caso queria saber se os 2 arrays possuem os mesmos elementos, você pode usar Array.prototype.every()

const a = [10,100,15,500];
const b = [9,1];

const is_same = (a.length == b.length) && a.every(function(element, index) {
    return element === b[index]; 
});

Boa tarde, Álvaro.

Ao fazermos comparações de arrays sem epecificar uma propriedade ou um elemento, teremos resultados que não representão a realidade. no caso de uma comparação de maior que, ou menor que (> ou <), a comparação sera inicialmente entre o primeiro algarismo dos primeiros elementos, da mesma forma que é feito com Strings, então:

const a = [10,100,15,500]
const b = [9,1]
console.log(a > b)

seria retornado false ja que a teriamos

console.log("1" > "9")

ja que 1 é o primeiro algarismo de 10 e 9 é o unico algariamos de 9. Podemos testar isso usando outros valores, como:

console.log([11] > [10]) // true, o primeiro algarismo é igual então são comparados os segundos, onde 1 é maior que 0
console.log([75] > [8])   // false, ja que 8 é maior que 7
console.log([80] > [8])   // true, o primeiro algarismo é igual então são comparados os segundos, onde 0 é um numero e 8 não tem mais algarismos

Porem não é boa pratica usar uma comparação como essa seria melhor usar os metodos para converter um elemento para uma string e então comparar strings