How to sort by strings a mixed pair of string and number elements in an array with JavaScript

1 Answer

0 votes
const arr = [
  "Python 4", "C 9", "C++ 5", "C# 6",
  "Java 1", "PHP 7", "Go 2"
];

function extractName(s) {
  const pos = s.lastIndexOf(" ");
  
  return s.slice(0, pos);
}

arr.sort((a, b) => extractName(a).localeCompare(extractName(b)));

console.log(arr);



/*
run:

[
  'C 9',      'C# 6',
  'C++ 5',    'Go 2',
  'Java 1',   'PHP 7',
  'Python 4'
]

*/

 



answered Jan 23 by avibootz

Related questions

...