json 속성 별로 정렬
json 속성 별로 정렬이 필요할때가 있다.
이름, 나이등등 여러 속성 값들을 이용해서 정렬이 필요하다.
아래 함수를 이용해서 기본적으로 정렬이 가능하다.
콤마가 들어간 값도 parseInt하면 형 변환이 가능하기 때문에 고려하지 않아도 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | /* element : 정렬할 json prop : json 포함된 속성 type : int 숫자형, string 문자열 asc : 오름차순 여부 (true, false) */ function (element, prop, type, asc) { switch (type) { case "int": element = element.sort(function (a, b) { if (asc) { return (parseInt(a[prop]) > parseInt(b[prop])) ? 1 : ((parseInt(a[prop]) < parseInt(b[prop])) ? -1 : 0); } else { return (parseInt(b[prop]) > parseInt(a[prop])) ? 1 : ((parseInt(b[prop]) < parseInt(a[prop])) ? -1 : 0); } }); break; default: element = element.sort(function (a, b) { if (asc) { return (a[prop].toLowerCase() > b[prop].toLowerCase()) ? 1 : ((a[prop].toLowerCase() < b[prop].toLowerCase()) ? -1 : 0); } else { return (b[prop].toLowerCase() > a[prop].toLowerCase()) ? 1 : ((b[prop].toLowerCase() < a[prop].toLowerCase()) ? -1 : 0); } }); } return element; } | cs |
'개발 > JQuery & Javascript' 카테고리의 다른 글
Clipboard 이용해서 Url를 복사해보자. (2) | 2019.05.30 |
---|---|
text에 개행(newline) 넣기 (0) | 2019.02.19 |
브라우저 화면 크기 & Element 크기 (0) | 2018.07.31 |
Prototype (0) | 2018.04.13 |
null / undefined 비교 (0) | 2018.04.13 |