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

237
Visualizações
Get a value from a multidimensional array

I have a multidimensional array as follows:

var schMatrix = [
    ['Weight',100,200,300,400,500,600,700,800,900,1000,1100,1200,1300,1400,1500,1600,1700,1800,1900,2000],
    ['Rate',395,413,484,560,635,691,763,837,910,982,1082,1155,1231,1304,1379,1452,1527,1570,1676,1750],
    ];

In my form the user would input a weight. What I am trying to do is if the weight is equal to or below the number in the weight part of the array that the corresponding rate is assigned to a variable.

Am stuck on how to do this. Any push in the right direction is appreciated.

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

0

First of all i would suggest you use a Object instead of a 2d-Array:

let schMatrix = {
    "Weight": [...,...,...],
    "Rate": [...,...,...]
}

Then you can itterate through the "Weight"-Array:

for (let i = 0; i < schMatrix["Weight"].length; i++) {
    if(schMatrix["Weight"][i] >= inputWeight){
        rate = schMatrix["Rate"][i]
    }
}
about 4 years ago · Juan Pablo Isaza Relatório

0

You will be better off using a map. They are much faster and you can map each weight to a specific rate:

MAP = {
  100: 395,
  200: 413,
  300: 484,
  etc...
}

map.get(100) //outputs 395

To map the arrays to a map do the following:

let map = new Map();
for(let i = 0; i < arr1.length; i++){
   map.set(arr1[i], arr2[i]);
}
about 4 years ago · Juan Pablo Isaza Relatório

0

var schMatrix = [
 ['Weight', 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 
  1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000],
 ['Rate', 395, 413, 484, 560, 635, 691, 763, 837, 910, 982, 1082, 1155, 
  1231, 1304, 1379, 1452, 1527, 1570, 1676, 1750],
 ]

 function getRate(weight) {
   for (let i = 1; i < schMatrix[0].length; i++) {
     const currWeight = schMatrix[0][i]
     if (weight > currWeight) {
       // as soon as currWeight is bigger than weight, return
       return schMatrix[1][i-1]
     }
   }
 }
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