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 | 31 |
Tags
- 유니티Material
- springboot 게시판
- JS기초
- 파이썬 기초
- springboot 미니프로젝트
- 파이썬 괄호 회전하기
- 유니티
- typescript 기초문법
- 유니티기초
- 스프링게시판프로젝트
- 스프링부트 블로그
- 스프링부트 회원가입
- 유니티Cube
- 타입스크립트 기초문법
- 스프링부트 미니프로젝트
- springboot 사이드프로젝트
- 스프링부트 update
- spring jpa 게시판
- python 괄호 회전하기
- springboot 게시판 프로젝트
- 타입스크립트 기초
- springboot 게시판만들기
- 타입스크립트 기본문법
- 프로그래머스 괄호 회전하기 python
- 스프링 게시판 만들기
- jpa 게시판
- 스프링부트 블로그만들기
- spring jpa 사이드프로젝트
- 괄호 회전하기 파이썬
- 스프링부트 게시판만들기
Archives
- Today
- Total
Digking's cave
JS 기초 ) Array (배열메소드) 2 - sort / reduce 본문
728x90
arr.sort()
배열 재정렬
배열 자체가 변경되므로 주의해야한다.
let arr = [1,5,4,2,3];
arr.sort();
console.log(arr); // [1,2,3,4,5]
let arr2 = ["a","c", "e" ,"b", "d"]
arr2.sort();
console.log(arr2); // ["a","b", "c", "d", "e" ]
let arr3 = [27, 8 , 5 , 13]
arr.sort();
// [13,27,5,8] 문자로 인식하기 때문에 십의자리 1,2를 기준으로 정렬한 것
// 따라서 인수로 정렬 로직을 담은 함수를 받아서 처리
arr.sort((a,b) => {
console.log(a,b);
return a-b;
});
편리하게 Lodash 라이브러리를 활용할 수 있다.
_.sortBy(arr) : 숫자/문자에 상관없이 원하는 기준으로 정렬해준다
arr.reduce()
(누적 계산값, 현재값) => {retrun 계산값}
let arr [1,2,3,4,5]
let result = 0;
arr.forEach(num => {
result += num;
});
//기존의 이 작업을 한번에 해주는게 reduce
const result = arr.reduce((prev, cur) => {
retrun prev + cur;
},0);
예시)
let userList = [
{name: "Mike" , age: 30 },
{name: "Tom" , age: 10 },
{name: "Jane" , age: 27 },
{name: "Sue" , age: 26 },
{name: "Harry" , age: 45 },
{name: "Steve" , age:60 },
];
// 성인만 구하기
let result = userList.reduce((prev, cur) => {
if(cur.age > 19){
prev.push(cur.name);
}
return prev;
},[]);
console.log(result);
// 모든 나이 더하기
let resultage = userList.reduce((prev, cur) => {
return (prev += cur.age);
},0);
console.log(resultage);
// 3글자인 이름만 구하기
let resultname3 = userList.reduce((prev, cur) =>{
if(cur.name.length === 3){
prev.push(cur.name);
};
return prev
},[]);
console.log(resultname3);
728x90
참고 ; https://www.youtube.com/watch?v=4_WLS9Lj6n4&t=3158s
반응형
'기초 > JavaScript' 카테고리의 다른 글
JS 기초 ) 구조분해할당 (Destructuring assignment) (0) | 2022.08.03 |
---|---|
JS 기초 ) Array(배열메소드) - splice / slice / includes / find / map / join / split (0) | 2022.08.02 |
JS 기초) 문자열 메소드 (문자열 길이 / 문자열 특정위치 / 문자열 비교/ 문자 대소문자 / 문자 위치찾기 / 특정문자 찾기) (0) | 2022.08.02 |
JS 기초 ) Number , Math (0) | 2022.08.01 |
JS 기초 ) 심볼 (Symbol) (0) | 2022.08.01 |