yandex
loader

please wait

  • Jignesh Patel Mar-14-2019 06:29:50 AM ( 1 week 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.

     
  • Jasmin Bhasin Mar-14-2019 06:31:35 AM ( 1 week 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))

Please login

Similar Discussion

Recommended For You