Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

128
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!