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

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

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 Report

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 Report

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 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!