출처 : 


자바스크립트 핵심 가이드

저자
더글라스 크락포드 지음
출판사
한빛미디어 | 2008-09-30 출간
카테고리
컴퓨터/IT
책소개
자바스크립트 전문가 더글라스 크락포드가 정리해낸 자바스크립트 언...
가격비교 글쓴이 평점  

이 책에 나온 예문을 그대로... 사용..! 두둥.


var tempArray = new Array();

tempArray.push({id: 1, name: 'a'});

tempArray.push({id: 4, name: 'd'});

tempArray.push({id: 2, name: 'b'});

tempArray.push({id: 3, name: 'c'});

tempArray.push({id: 5, name: 'e'});



var by = function(name) {

    return function(o, p) {

        var a, b;

        if (typeof o === 'object' && typeof p === 'object' && o && p) {

            a = o[name];

            b = p[name];


            if (a === b) {

                return 0;

            }

            if (typeof a === typeof b) {

                return a < b ? -1 : 1;

            }

            return typeof a < typeof b ? -1 : 1;

        } else {

            throw {

                name : 'Error',

                message : 'Expected an object when sorting by ' + name

            };

        }

    };

};


tempArray.sort(by('id'));

결과확인
[Object { id=1, name="a"}, Object { id=2, name="b"}, Object { id=3, name="c"}, Object { id=4, name="d"}, Object { id=5, name="e"}]


  1. 화이팅 2013.07.11 00:38 신고

    안녕하세요..
    다름이 아니라. 티스토리를 정말 하고싶은 1인입니다.
    매번 초대장받아볼려고 노력해봤지만 노력이 부족했나봐요 그래서 이렇게
    구걸이라도 하러왔습니다 ㅠㅠ
    정말로 하고싶어서 벌서 일주일째 이러고있네요.
    혹시나 초대장 여유있으시면 하나만 기부해주세요..^^;
    그럼좋은소식 기다리겠습니다
    이맬:cky2482@daum.net

    • 이미 존재하는 메일이라고 하면서,
      초대장 발송이 되질 않네요.

      누군가에게 받으신 것 같군요. ^^
      멋진 블로거가 되시길 바랍니다.

IP주소 문자열을 가지는 목록 List<String> ipList 내부에 있는 IP주소를  정렬하는 방법

사용하는 클래스 java.util.Collections(class), java.util.Comparator(Interface)

정렬하는데 사용식 : 

Collections.sort(ipList, new IpListSortByIp());


IpListSortByIp.java

public class IpListSortByIp implements Comparator<String> {

        @Override
        public int compare(String o1, String o2) {
            try {
                if (InetAddress.getByName(o1).hashCode() > InetAddress.getByName(o2).hashCode()) {
                    return 1;
                } else if (InetAddress.getByName(o1).hashCode() < InetAddress.getByName(o2).hashCode()) {
                    return -1;
                }
            }
            catch (UnknownHostException e) {
                //Exception 처리
            }
            return 0;
        }
    }


간단히 정의를 한다면,

문자열 IP주소를 java.net.InetAddress 객체로 변형하여 그 객체가 가지고 있는 HashCode를 비교하여 정렬하는 방식이다. 

JavaScript sort 참고 : http://www.w3schools.com/jsref/jsref_sort.asp
  
var testArray = [
    {"id" : 1, "total" : 3}, {"id" : 2, "total" : 20}, {"id" : 3, "total" : 12}, {"id" : 4, "total" : 9}, {"id" : 3, "total" : 24}
];
function custonSort(a, b) {
  if(a.total == b.total){ return 0} return  a.total > b.total ? 1 : -1;
}
testArray.sort(custonSort);
console.log(testArray);
<< 정렬 결과 >>
[
Object
  1. id1
  2. total3
  3. __proto__Object
,
Object
  1. id4
  2. total9
  3. __proto__Object
,
Object
  1. id3
  2. total12
  3. __proto__Object
,
Object
  1. id2
  2. total20
  3. __proto__Object
,
Object
  1. id3
  2. total24
  3. __proto__Object
]

간단하게 예제를 만들어봤다.


난 전혀 다른 곳을 파고 있었던 것이다. 


  1. DAILY_CHANGLIST_SENDREPORT 2015.03.10 16:36 신고

    앙되요 ㄷㄷㄷ.

  2. Favicon of https://acpp.com BlogIcon 김삿갓 2018.04.14 08:40 신고

    행복을 찾아가야 행복도 다가옵니다.행복을 찾아가야 행복도 다가옵니다.행복을 찾아가야 행복도 다가옵니다.

  3. BlogIcon 리키본사 2018.04.19 05:09 신고



    #### 카카오톡 #### bmx88


    #### 텔레그램 #### rk7977

  4. BlogIcon 리키본사 2018.04.24 00:48 신고



    #### 카카오톡 #### bmx88


    #### 텔레그램 #### rk7977

+ Recent posts