728x90
반응형
// 테스트용 데이터 cars
const cars = [
["아우디 A6 (C8) 40 TDI 콰트로 프리미엄", 4090, "경기", "81937km"],
["아우디 Q3 (F3) 35 TDI 스포트백", 3950, "경기", "13285km"],
["아우디 A6 (C8) 45 TFSI 프리미엄", 4800, "경기", "20794km"],
["포르쉐 카이엔 (PO536) 3.0", 17500, "경기", "4647km"],
["포르쉐 타이칸 GTS", 17700, "경기", "5214km"],
["포르쉐 718 카이맨 4.0 GT4", 40, "경기", "25km"],
["포르쉐 카이엔 (PO536) 3.0", 18500, "부산", "15km"],
["포르쉐 911 (992) 카레라 GTS 카브리올레", 22990, "광주", "6022km"],
["미니 쿠퍼 S 클래식 3세대", 3120, "부산", "30964km"],
["미니 쿠퍼 클래식 플러스 3세대", 2680, "부산", "9329km"],
["미니 쿠퍼 클럽맨 클래식 플러스 라이트 2세대", 3070, "대전", "8206km"],
["미니 쿠퍼 S 클럽맨 멀티톤 에디션 2세대", 3390, "경기", "14539km"],
["미니 쿠퍼 S 클래식 3세대", 3250, "광주", "3474km"]
];
1. 최소값, 최대값 구하기
function findMaxMinRows(data) {
let maxPriceRow = data[0]; //최고가
let minPriceRow = data[0]; //최저가
let maxMileageRow = data[0]; //최장 주행거리
let minMileageRow = data[0]; //최단 주행거리
data.forEach(row => {
if (row[1] > maxPriceRow[1]) maxPriceRow = row;
if (row[1] < minPriceRow[1]) minPriceRow = row;
if (row[3].replace(/\D/g,'') > maxMileageRow[3].replace(/\D/g,'')) maxMileageRow = row; //정규식; 단위 제거
if (row[3].replace(/\D/g,'') < minMileageRow[3].replace(/\D/g,'')) minMileageRow = row;
});
return {
maxPriceRow,
minPriceRow,
maxMileageRow,
minMileageRow
};
}
const result = findMaxMinRows(cars);
console.log("Max Price Row:", result.maxPriceRow);
console.log("Min Price Row:", result.minPriceRow);
console.log("Max Mileage Row:", result.maxMileageRow);
console.log("Min Mileage Row:", result.minMileageRow);
2. 정렬
// 주행거리 기준으로 오름차순 정렬
cars.sort((a, b) => a[3] - b[3]);
// 주행거리 기준으로 내림차순 정렬
cars.sort((a, b) => b[3] - a[3]);
3. 결과
Max Price Row: [ '포르쉐 911 (992) 카레라 GTS 카브리올레', 22990, '광주', 6022 ]
Min Price Row: [ '포르쉐 718 카이맨 4.0 GT4', 40, '경기', 25 ]
Max Mileage Row: [ '아우디 A6 (C8) 40 TDI 콰트로 프리미엄', 4090, '경기', 81937 ]
Min Mileage Row: [ '포르쉐 카이엔 (PO536) 3.0', 18500, '부산', 15 ]
반응형
'🚀 Programming > JavaScript+C#' 카테고리의 다른 글
[JavaScript] 배열 자르기 splice와 slice (0) | 2025.02.24 |
---|---|
[JavaScript] 배열끼리의 결합하기(Vertical, Horizontal) (0) | 2025.02.24 |
[JavaScript] 2차원 배열 변형하기(map, filter, set) (1) | 2024.11.15 |
[JavaScript] 스프레드 연산자 "..." (0) | 2024.11.03 |
[JavaScript] 필드가 다른 두 자료의 대칭차집합 구하기 (0) | 2024.10.22 |