반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 스프링
- 코딩테스트
- 자스코테
- php
- Oracle
- spring
- typescript
- 자바의정석
- javascript
- 리액트
- VUE
- 정보처리기사
- 국비코딩
- 정보처리기사정리
- 자바스크립트
- react
- CSS
- 오라클
- 평일코딩
- 정보처리기사실기정리
- Java의정석
- 정보처리기사실기요약
- 정보처리기사요약
- 자바스크립트 코딩테스트
- 타입스크립트
- 국비IT
- ReactNative
- 이안의평일코딩
- 리액트네이티브
- 정보처리기사실기
Archives
- Today
- Total
이안의 평일코딩
[Vue] Vue의 기초(8) - sort 정렬, spread operator 본문
반응형
sort()
sort()는 문자정렬이 된다.
priceSort(){
var array = [3,5,2];
array.sort();
console.log(array); // [2, 3, 5]
}
숫자정렬을 하려면 function(a,b)를 넣어 만든다. a - b가 음수면 a가 왼쪽으로 가면서 숫자 정렬이 된다.
array.sort(function(a,b){
return a - b
});
spread operator
sort() 함수는 원본이 변형되므로 기존 데이터를 보존하기 위해서 spread operator [... 데이터]를 사용한다.
그러면 array/object 데이터의 각각 별개의 사본을 만들 수 있다. [...array자료]
spread operator를 사용하지 않으면 같은 값을 공유한다.
(map(), filter() 등은 원본을 보존해준다.)
<template>
<button @click="priceSort">가격순정렬</button>
<button @click="sortBack">되돌리기</button>
</template>
<script>
import data from './assets/oneroom';
export default {
name: 'App',
data(){
return {
oneroomOriginal : [...data],
oneroom : data,
}
},
methods : {
priceSort(){
this.oneroom.sort(function(a,b){
return a.price - b.price
});
},
sortBack(){
this.oneroom = [...this.oneroomOriginal];
},
},
}
</script>
정렬기능 활용: 가격낮은순, 가격높은순, 가나다순, 되돌리기
<template>
<button @click="priceLow">가격낮은순</button>
<button @click="priceHigh">가격높은순</button>
<button @click="sortABC">가나다순</button>
<button @click="sortBack">되돌리기</button>
</template>
<script>
import data from './assets/oneroom';
export default {
name: 'App',
data(){
return {
oneroomOriginal : [...data],
oneroom : data,
}
},
methods : {
priceLow(){
this.oneroom.sort(function(a,b){
return a.price - b.price
});
},
priceHigh(){
this.oneroom.sort(function(a,b){
return b.price - a.price
});
},
sortABC(){
this.oneroom.sort(function(a,b){
return a.title.localeCompare(b.title)
});
},
sortBack(){
this.oneroom = [...this.oneroomOriginal];
},
},
}
</script>
반응형
'Front-end > Vue' 카테고리의 다른 글
[Vue] Vue의 기초(10) - Bootstrap (0) | 2021.04.14 |
---|---|
[Vue] Vue의 기초(9) - Lifecycle(라이프사이클), Hooks (0) | 2021.04.14 |
[Vue] Vue의 기초(7) - UI 애니메이션 <transition> (0) | 2021.04.13 |
[Vue] Vue의 기초(6) - 이벤트리스너 v-model, watcher (0) | 2021.04.13 |
[Vue] Vue의 기초(5) - Component, props, custom event (0) | 2021.04.12 |
Comments