728x90
예시
let testObject = [
{ num : 1, name : '선물상자', price : 1000, count : 10 },
{ num : 2, name : '선물포장', price : 700, count : 5 },
{ num : 3, name : '볼펜', price : 1500, count : 7 },
{ num : 4, name : '모니터', price : 2000, count : 15 },
{ num : 5, name : '과자', price : 2000, count : 20 },
{ num : 6, name : '선물리본', price : 300, count : 21 }
]
특정 값을 가진 객체만 출력하기
[객체].filter( f => f.[키값] == [조건] );
ex) testObject.filter( f => f.name == '과자' );
특정 값 포함한 객체 출력
[객체].filter( f => f.[키값].includes([조건]) );
ex) testObject.filter( f => f.name.includes('선물') );
특정 값 기준으로 정렬
오름차순 : [객체].sort((a, b) => {return a.[키값] - b[키값]})
내립차순 : [객체].sort((a, b) => {return b.[키값] - a[키값]})
ex) testObject.sort((a, b) => {return a.price - b.price});
testObject.sort((a, b) => {return b.price - a.price});
정렬은 꼭 sort로 안해도 되고, reverse로도 가능하다. 더 편한걸로 사용!
특정 값 기준으로 정렬(한글, 영문)
// 오름차순
testObject.sort(function(a, b) {
return a.name < b.name ? -1 : a.name > b.name ? 1 : 0;
});
// 내림차순
testObject.sort(function(a, b) {
return a.name > b.name ? -1 : a.name > b.name ? 1 : 0;
});
// 영어 대소문자 통일
testObject.sort(function(a, b) {
var x = a['name'].toLowerCase();
var y = b['name'].toLowerCase();
return x > y ? -1 : x > y ? 1 : 0;
});
객체 다중 정렬하기
가격을 기준으로 하되, 가격이 같을 경우, 재고 순으로 정렬을 하고싶다고 하자.
testObject.sort(function(a, b) {
if(a.price == b.price) { // 첫번째 기준
return a.count - b.count // 두번째 기준
}
return a.price - b.price
});
728x90
'프로그래밍 언어 > JavaScript' 카테고리의 다른 글
JavaScript) 객체 키 이름으로 정렬. Object Key 값으로 정렬 (0) | 2023.12.28 |
---|---|
JavaScript) 객체 키 이름 변경하기 (0) | 2023.12.27 |
JavaScript) 자바스크립트 리스트(배열), 문자열 포함 여부 확인 (0) | 2023.10.18 |
JavaScript) 객체(Object) 내 배열에서 중복 값 찾아서 제거하기 (0) | 2023.08.11 |
JavaScript) 자바스크립트 글자 변경, 여러개, 공백제거 (0) | 2022.11.04 |