Sort a 2D array by the second value

前端 未结 2 924
难免孤独
难免孤独 2021-01-01 04:47

I have an array and I want to sort by the number field not the name.

var showIt = [
  [\"nuCycleDate\",19561100],
  [\"ndCycleDate\",19460700],
  [\"neCycleD         


        
相关标签:
2条回答
  • 2021-01-01 05:09

    You can provide sort with a comparison function.

    showIt.sort(function(a, b) {
        return a[1] - b[1];
    });
    

    a and b are items from your array. sort expects a return value that is greater than zero, equal to zero, or less than zero. The first indicates a comes before b, zero means they are equal, and the last option means b first.

    0 讨论(0)
  • 2021-01-01 05:27

    This site advises against using the arguments without assigning to temporary variables. Try this instead:

    showIt.sort(function(a, b) {
        var x = a[1];
        var y = b[1];
        return x - y;
    });
    
    0 讨论(0)
提交回复
热议问题