티스토리 뷰
🔎 sort() 메서드
: 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환함
💡 반환 값에 따른 sort()함수의 해석
① 반환 값 < 0 = a가 b보다 앞에 있어야 함
② 반환 값 = 0 = a와 b의 순서를 바꾸지 않음
③ 반환 값 > 0 = b가 a보다 앞에 있어야 함
⭐ 콜백의 파라미터를 a,b라고 했을 때 활용법
◻ 작은 순서대로 정렬(오름차순): numbers.sort((a,b) => a-b)
◻ 큰 순서대로 정렬(내림차순): numbers.sort((a,b) => b-a)
✅ 최신순&추천순 버튼 클릭시 정렬이 변경되게 해보기
import ReviewList from "./ReviewList";
import items from "../mock.json"; // items라는 이름으로 mock.json파일을 import함
import { useState } from "react";
function App() {
// 프로젝트의 최상위 컴포넌트
const [order, setOrder] = useState("createdAt");
const sortedItems = items.sort((a, b) => b[order] - a[order]); //order State값이 createdAt에 있을 때는 최신순으로 정렬되고, rating일 때는 평점이 높은 베스트순으로 정렬이 됨
const handleNewClick = () => setOrder('createdAt');
const handleBestClick = () => setOrder('rating');
return (
<div>
<button onClick={handleNewClick}>최신순</button>
<button onClick={handleBestClick}>추천순</button>
<ReviewList items={sortedItems} />
</div>
);
}
export default App;
'- React' 카테고리의 다른 글
fetch() - 데이터 요청 (0) | 2023.03.02 |
---|---|
filter() - 삭제 기능 (0) | 2023.02.28 |
map()으로 배열 렌더링하기 (0) | 2023.02.27 |
리액트 할 때 편리한 VScode 기능 (0) | 2023.02.27 |
리액트에서 자주 쓰는 if문 (0) | 2023.02.25 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 모두의숙소
- 정렬변경
- 네트워크로딩
- 리액트
- 플러터
- 웹만들기
- 비동기
- throtting
- Riverpod
- GestureDetector
- 글쓰기
- react
- appbar
- Filter
- 리액트문법
- 네트워크데이터
- table-calendar
- 주사위게임
- props
- 채팅리스트
- map
- State
- hooks
- Provider
- firestore
- Flutter
- sort메서드
- RadioList
- useState
- styled-components
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
글 보관함