Home > Software engineering >  Sorting a 2d array JavaScript by value of both columns
Sorting a 2d array JavaScript by value of both columns

Time:11-23

How can I quickly sort a 2d array in JavaScript according to value of both columns?

Array will appear in this format:

[12, 3]
[12, 2]
[54, 43]
[32, 12]

After sorting it should look like this:

[12, 2]
[12, 3]
[32, 12]
[54, 43]

CodePudding user response:

You can use Array.sort and subtract the first items in the nested arrays to determine precedence. If they're equal, subtract the second items.

const arr = [
  [12, 3],
  [12, 2],
  [54, 43],
  [32, 12]
]

const res = arr.sort((a,b) => a[0] - b[0] || a[1] - b[1])

console.log(res)
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" frameborder="0"></iframe>

  • Related