Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

129
Visualizações
Calcular precio por ancho y alto

La pregunta se divide en 2 partes.

1. Cómo estructurar los datos en la matriz json

2. Cómo calcular el precio de la matriz json

Necesito almacenar los datos de precios en línea en HTML como JSON, ya que las solicitudes de AJAX al servidor son demasiado lentas o pesadas.

Los datos se almacenan como cadenas serializadas en una base de datos. Esto se agrega a la base de datos desde las cargas de archivos CSV. Los archivos CSV se ven a continuación.

 50 100 150 200 250 20 70 90 110 130 150 30 90 110 130 150 170 40 110 130 150 170 190 50 130 150 170 190 210 60 150 170 190 210 230

Si ingresa 100 de ancho y 40 de alto, el precio debería ser 130 .

Si ingresa 170 de ancho y 52 de alto, el precio debería ser 210 .

Si no se encuentra la columna o la fila, debe redondearse a la siguiente columna o fila.

  1. ¿Cuál es la mejor manera de almacenar esto como JSON en línea, si necesita calcular el precio en función del ancho y el alto?

  2. ¿Cómo calcularía el precio, según el width y la height de la entrada del usuario?

No estoy buscando un código específico, solo sugerencias sobre la estructura JSON y cómo calcular a partir de esto.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Puede tomar dos matrices para anchos y altos y una matriz 2D para los precios.

Para obtener un precio correcto, obtenga primero los índices y luego el precio.

Tal vez necesite agregar un poco de protección para los valores para evitar obtener índices incorrectos.

 const getPrice = (width, height) => { const w = widths.findIndex(w => width <= w), h = heights.findIndex(h => height <= h); return prices[w][h]; }, widths = [50, 100, 150, 200, 250], heights = [20, 30, 40, 50, 60], prices = [[70, 90, 110, 130, 150], [90, 110, 130, 150, 170], [110, 130, 150, 170, 190], [130, 150, 170, 190, 210], [150, 170, 190, 210, 230]]; console.log(getPrice(100, 30)); console.log(getPrice(90, 25));

about 4 years ago · Juan Pablo Isaza Relatório

0

Cuando hay un patrón regular para los pasos de ancho y alto, también puede hacer lo siguiente:

 const h0=20,dh=10,w0=50,dw=50, prices= [[ 70, 90, 110, 130, 150], [ 90, 110, 130, 150, 170], [ 110, 130, 150, 170, 190], [ 130, 150, 170, 190, 210], [ 150, 170, 190, 210, 230]]; // w,h [[100,30],[90,25]].forEach(([w,h])=> console.log(prices[Math.ceil((h-h0)/dh)][Math.ceil((w-w0)/dw)]));

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda