sort, reduce

OwlSuri·2022년 7월 10일
0

JavaScript

목록 보기
6/9

arr.sort() : 배열 재정렬, 배열 자체가 변경됨

let arr1 = [1,5,4,2,3]
arr1.sort()

console.log(arr1) // [1,2,3,4,5]

let arr2 = ['a','e','d','b','c']
arr2.sort()

console.log(arr2) // ['a','b','c','d','e']

let arr3 = [27,8,5,13]
arr3.sort()

console.log(arr3) // [13,27,5,8]

// 문자로 생각하기 때문에 위외같은 결과가 나옴, 숫자로 오름차순 정렬하고 싶으면 아래

arr3.sort((a,b) => {
	return a-b
})

console.log(arr3) // [5,8,13,27]

Lodash : 기능을 모아놓은 라이브러리

let arr3 = [27,8,5,13]

_.sortBy(arr3) 

console.log(arr3) // [5,8,13,27]

// 숫자든 문자든 상관없음

reduce

// 배열의 모든 수 합치기
let arr = [1,2,3,4,5]

// forEach 사용
let result = 0
arr.forEach((num) => {
	result+=num
})
console.log(result) // 15

// reduce사용
const result  = arr.reduce((prev, cur) => {
	return prev+cur
},0)
console.log(result) // 15

예제

let userList = [
  { name:'A', age:30 },
  { name:'B', age:10 },
  { name:'C', age:27 },
  { name:'D', age:18 },
  { name:'E', age:42 },
  { name:'F', age:3 },
]

// 성인만 뽑기(이름)
let result = userList.reduce((prev, cur) => {
	if(cur.age > 19){
    	prev.push(cur.name)
    }
  return prev;
},[]) // ['A', 'C', 'E']
// 초기값이 빈배열

// 나이의 총합
let totalAge = userList.reduce((prev, cur) => {
	return prev.age += cur.age
}, 0)
profile
기억이 안되면, 기록을 -

0개의 댓글