복붙노트

[JQUERY] 어떻게 JQuery와 또는 자바 스크립트와 객체의 배열을 정렬하려면 [중복]

JQUERY

어떻게 JQuery와 또는 자바 스크립트와 객체의 배열을 정렬하려면 [중복]

해결법


  1. 1.

    //This will sort your array
    function SortByName(a, b){
      var aName = a.name.toLowerCase();
      var bName = b.name.toLowerCase(); 
      return ((aName < bName) ? -1 : ((aName > bName) ? 1 : 0));
    }
    
    array.sort(SortByName);
    

  2. 2.

    var array = [[1, "grape", 42], [2, "fruit", 9]];
    
    array.sort(function(a, b)
    {
        // a and b will here be two objects from the array
        // thus a[1] and b[1] will equal the names
    
        // if they are equal, return 0 (no sorting)
        if (a[1] == b[1]) { return 0; }
        if (a[1] > b[1])
        {
            // if a should come after b, return 1
            return 1;
        }
        else
        {
            // if b should come after a, return -1
            return -1;
        }
    });
    

    정렬 기능을 추가로 인수, 2 개 개의 인수를 취하는 기능을합니다. 이 기능은 -1, 0 또는 1 개의 인자에 따라 정렬 먼저 와야 반환한다. 더 많은 정보.

    또한 다차원 배열의 구문 오류를 수정했습니다.


  3. 3.

    //objects
    var array = [{id:'12', name:'Smith', value:1},{id:'13', name:'Jones', value:2}];
    array.sort(function(a, b){
        var a1= a.name.toLower(), b1= b.name.toLower();
        if(a1== b1) return 0;
        return a1> b1? 1: -1;
    });
    
    //arrays
    var array =[ ['12', ,'Smith',1],['13', 'Jones',2]];
    array.sort(function(a, b){
        var a1= a[1], b1= b[1];
        if(a1== b1) return 0;
        return a1> b1? 1: -1;
    });
    

  4. 4.

    data.sort(function(a,b) 
    {
       return a.val - b.val;
    });
    

  5. 5.정렬 방법은 사용자 정의 비교 함수를 전달하는 선택적 인수가 포함되어 있습니다.

    정렬 방법은 사용자 정의 비교 함수를 전달하는 선택적 인수가 포함되어 있습니다.

    배열의 배열은 당신을 원 가정 :

    var arr = [[3, "Mike", 20],[5, "Alex", 15]];
    
    function compareName(a, b)
    {
    
      if (a[1] < b[1]) return -1;
      if (a[1] > b[1]) return 1;
      return 0;
    }
    arr.sort(compareName);
    

    당신이 객체의 배열을 원하는 그렇지 않으면, 당신은 할 수 있습니다 :

    function compareName(a, b)
    {
    
      if (a.name < b.name) return -1;
      if (a.name > b.name) return 1;
      return 0;
    }
    

  6. 6.음, 대신 진정한 다차원 배열을 만드는, 당신이 (거의) 자바 스크립트 객체의 배열을 만든 것으로 보인다. 이처럼 배열을 정의하는 시도 ->

    음, 대신 진정한 다차원 배열을 만드는, 당신이 (거의) 자바 스크립트 객체의 배열을 만든 것으로 보인다. 이처럼 배열을 정의하는 시도 ->

    var array = [ [id,name,value], [id,name,value] ]
    

    희망이 도움이!

  7. from https://stackoverflow.com/questions/5503900/how-to-sort-an-array-of-objects-with-jquery-or-javascript by cc-by-sa and MIT license