Categories

See More
Popular Forum

MBA (4887) B.Tech (1769) Engineering (1486) Class 12 (1030) Study Abroad (1004) Computer Science and Engineering (988) Business Management Studies (865) BBA (846) Diploma (746) CAT (651) B.Com (648) B.Sc (643) JEE Mains (618) Mechanical Engineering (574) Exam (525) India (462) Career (452) All Time Q&A (439) Mass Communication (427) BCA (417) Science (384) Computers & IT (Non-Engg) (383) Medicine & Health Sciences (381) Hotel Management (373) Civil Engineering (353) MCA (349) Tuteehub Top Questions (348) Distance (340) Colleges in India (334)
See More

Sort array alphanumerically

General Tech Bugs & Fixes
Max. 2000 characters
Replies

usr_profile.png
Jignesh Patel

User

( 8 months ago )

 

I have array like below , I want to sort it alphanumerically by ascending or descending in faster way.

[
  "NFO:BANKNIFTY1931428900CE",
  "NFO:BANKNIFTY1931429000CE",
  "NFO:BANKNIFTY1931429500CE",
  "NFO:BANKNIFTY1931429400CE",
  "NFO:BANKNIFTY1931429300CE",
  "NFO:BANKNIFTY1931429200CE"
]

I want to sort it like below , descending or ascending

[
  "NFO:BANKNIFTY1931429500CE",
  "NFO:BANKNIFTY1931429400CE",
  "NFO:BANKNIFTY1931429300CE",
  "NFO:BANKNIFTY1931429200CE",
  "NFO:BANKNIFTY1931429000CE",
  "NFO:BANKNIFTY1931428900CE",
]

I tried something like below , but it does not sort properly and its slow too.

function sort() { var arr = disorderedArray; arr.sort(function(a, b) { a = a.split(" "); b = b.split(" "); var an = parseInt(a[0], 10); var bn = parseInt(b[0], 10); return an < bn ? 1 : (an > bn ? -1 : (a[1] < b[1] ? -1 : (a[1] > b[1] ? 1 : 0))); }); console.log(arr.reverse()); }

Note: Sometimes it can involve mix of lowercase letters.

 

usr_profile.png
Jasmin Bhasin

User

( 8 months ago )

Sort array by alphanumerically using localeCompare method.

The localeCompare() method returns a number indicating whether a reference string comes before or after or is the same as the given string in sort order.

const sortAlphaNum = (a, b) => a.localeCompare(b, 'en', { numeric: true })
console.log([
  "NFO:BANKNIFTY1931428900CE",
  "NFO:BANKNIFTY1931429000CE",
  "NFO:BANKNIFTY1931429500CE",
  "NFO:BANKNIFTY1931429400CE",
  "NFO:BANKNIFTY1931429300CE",
  "NFO:BANKNIFTY1931429200CE"
].sort(sortAlphaNum))

what's your interest


forum_ban8_5d8c5fd7cf6f7.gif