Ir ao conteúdo
  • Cadastre-se

Javascript Como comparar valores no javascript


Posts recomendados

 

Auxilio no exercicio em java Script

 

 

 

Olá pessoal ,estou aprendendo JV atualmente, e me deparei com o seguinte exercicio :

 

 

image.png.5ab96cb5b5c0e79426e5b74c26e2db8b.png

 

Mediante  a tabela acima :

 

Usando a tabela de tamanhos acima, crie uma série de expressões lógicas que  

imprime o tamanho de uma camiseta com base nas medidas de shirtWidth, shirtLength e shirtSleeve. Valores válidos incluem S, M, L, XL, 2XL, e 3XL.

Por exemplo, se..

 

var shirtWidth = 23; // size L , var shirtLength = 30; // size L , var shirtSleeve = 8.71; // size L 

então imprima L no console.

 

 

Dica: você vai precisar comparar um série de valores quando verificar shirtWidth, shirtLength e shirtSleeve. Por exemplo, se a largura da camiseta é pelo menos 20", mas não mais que 22", então a camiseta deve ser média (M) — contanto que haja uma correspondência com os outros valores para tamanho e manga da camiseta.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

E então, a partir do que é pedido no exercício fiz o seguinte código:


 

<

var shirtWidth = 28;
var shirtLength = 34;
var sirtSleeve = 10.13;



var S;
var M;
var L;
var doisXL = ("2XL");
var tresXL = ("3XL");




  if   (shirtWidth ===18 && shirtLength ===28  &&  shirtSleeve === 8.13){
        console.log('S');
       }else if (shirtWidth ===20 && shirtLength ===29  &&  shirtSleeve === 8.38){
             console.log('M');
           }else if (shirtWidth ===22 && shirtLength ===30  &&  shirtSleeve === 8.63){
               console.log('L');
                }else if (shirtWidth ===24 && shirtLength ===31  &&  shirtSleeve === 8.88){
                     console.log('XL');
                       }else if (shirtWidth ===26 && shirtLength ===33  &&  shirtSleeve === 9.63){
                          console.log('2XL');
                             }else if (shirtWidth ===28 && shirtLength ===34  &&  shirtSleeve === 10.13){
                              console.log('3XL');
 }

>

Quando chego nesse tópico não estou conseguindo achar uma maneira de comparar os valores para que quando dentro de uma condição tiver ao menos dois valores correspondentes a um tamanho de camiseta,ele validar algum tamanho que esteja dentro do mesmo.

 

"Dica: você vai precisar comparar um série de valores quando verificar shirtWidth, shirtLength e shirtSleeve. Por exemplo, se a largura da camiseta é pelo menos 20", mas não mais que 22", então a camiseta deve ser média (M) — contanto que haja uma correspondência com os outros valores para tamanho e manga da camiseta."

 

Me ajudem por favor ! 

Obrigado !

 

PS:Estou compilando pelo nevagador por isso as variáveis estão com valores acima :

<

"

var shirtWidth = 28;
var shirtLength = 34;
var sirtSleeve = 10.13;

"

>

 

 

 

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Olá!
Veja se isso te ajuda:

    // objeto com tabela de medidas
    var tabela_de_medidas = {
        "S": {
            "width": [18, 20],
            "length": [28, 29],
            "sleeve": [8.13, 8.38]
        },
        "M": {
            "width": [20.0, 22],
            "length": [29.0, 30],
            "sleeve": [8.38, 8.63]
        },
        "L": {
            "width": [22, 24],
            "length": [30, 31],
            "sleeve": [8.63, 8.88]
        },
        "XL": {
            "width": [24, 26],
            "length": [31, 33],
            "sleeve": [8.88, 9.63]
        },
        "2XL": {
            "width": [26, 28],
            "length": [33, 34],
            "sleeve": [9.63, 10.13]
        },
        "3XL": {
            "width": [28, 30],
            "length": [34, 36],
            "sleeve": [10.13, 10.63]
        }
    };

    var medidas = {
        "width": 18.3,
        "length": 34.1,
        "sleeve": 10.13,
    };

    // inicia um objeto para verificação:
    var verificador = {};

    // para cada tamanho em tabela_de_medidas
    for (size in tabela_de_medidas) {

        // para cada unidade de medida em tabela_de_medidas[size]
        for (unidade in tabela_de_medidas[size]) {
            // guarda o intervalo de medidas na variável intervalo
            var intervalo = tabela_de_medidas[size][unidade]

            // comparar se a unidade na variável medidas está dentro do intervalo
            if (medidas[unidade] >= intervalo[0] && medidas[unidade] < intervalo[1]) {
                verificador[unidade] = size;
                //console.log(unidade + ': ' + medidas[unidade] + ', tamanho: ' + size + ': [' + intervalo + ']');
            }
        }
    }

    // se o objeto verificador não estiver vazio
    if ((Object.keys(verificador).length)) {
        // se todos os valores forem iguais
        if (verificador.width == verificador.length == verificador.sleeve) {
            console.log('As medidas informadas se encaixam no intervalo de tamanho: ' + verificador.width);
            // se algum valor for diferente
        } else {
            console.log('As medidas informadas divergem da tabela de medidas existente, chefe: ', verificador);
        }
    } else {
        console.log('As medidas passadas não se encaixam em nenhuma bitola da tabela, chefe!');
    }

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Boa Tarde meu amigo podemos usar o E ( && ) como você esta usando ou o OU ( | )  e no if para verificar se é igual use o == :

EX:

if (shirtWidth ==  28 || 30 && shirtLength == 34 || 36 && shirtSleeve == 10.13 || 12.13){
  console.log("S")
}

Fica assim:

 

Se shirtWidth é igual a 28 ou 30 e shirtLength é igual a 34 ou 36 e shirtSleeve for igual a 10.13 ou 12.13 então enviei S para o console

 

e outra sua variável esta assim:

var sirtSleeve = 10.13;

e deveria ser assim:

var shirtSleeve = 10.13;

espero ter ajudado :)

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

4 horas atrás, washalbano disse:

Olá!
Veja se isso te ajuda:


    // objeto com tabela de medidas
    var tabela_de_medidas = {
        "S": {
            "width": [18, 20],
            "length": [28, 29],
            "sleeve": [8.13, 8.38]
        },
        "M": {
            "width": [20.0, 22],
            "length": [29.0, 30],
            "sleeve": [8.38, 8.63]
        },
        "L": {
            "width": [22, 24],
            "length": [30, 31],
            "sleeve": [8.63, 8.88]
        },
        "XL": {
            "width": [24, 26],
            "length": [31, 33],
            "sleeve": [8.88, 9.63]
        },
        "2XL": {
            "width": [26, 28],
            "length": [33, 34],
            "sleeve": [9.63, 10.13]
        },
        "3XL": {
            "width": [28, 30],
            "length": [34, 36],
            "sleeve": [10.13, 10.63]
        }
    };

    var medidas = {
        "width": 18.3,
        "length": 34.1,
        "sleeve": 10.13,
    };

    // inicia um objeto para verificação:
    var verificador = {};

    // para cada tamanho em tabela_de_medidas
    for (size in tabela_de_medidas) {

        // para cada unidade de medida em tabela_de_medidas[size]
        for (unidade in tabela_de_medidas[size]) {
            // guarda o intervalo de medidas na variável intervalo
            var intervalo = tabela_de_medidas[size][unidade]

            // comparar se a unidade na variável medidas está dentro do intervalo
            if (medidas[unidade] >= intervalo[0] && medidas[unidade] < intervalo[1]) {
                verificador[unidade] = size;
                //console.log(unidade + ': ' + medidas[unidade] + ', tamanho: ' + size + ': [' + intervalo + ']');
            }
        }
    }

    // se o objeto verificador não estiver vazio
    if ((Object.keys(verificador).length)) {
        // se todos os valores forem iguais
        if (verificador.width == verificador.length == verificador.sleeve) {
            console.log('As medidas informadas se encaixam no intervalo de tamanho: ' + verificador.width);
            // se algum valor for diferente
        } else {
            console.log('As medidas informadas divergem da tabela de medidas existente, chefe: ', verificador);
        }
    } else {
        console.log('As medidas passadas não se encaixam em nenhuma bitola da tabela, chefe!');
    }

 

Muito obrigado pelo código,a única coisa que não entendi foi sua variável "unidade",tem como me explicar por favor .. 

Link para o comentário
Compartilhar em outros sites

10 horas atrás, Gesiel Souza disse:

a única coisa que não entendi foi sua variável "unidade"

Claro!
Cada medida pré-definida(s, m, l, ...) possui três variáveis de medida: width, length e sleeve
Tratei cada uma dessas como "unidade" por acreditar que seriam unidades de medida
mas acredito que provavelmente, talvez eu tenha dado uma interpretação equivocada da palavra.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...