기본 문법|고차함수

셀라문·2022년 2월 27일
0

JavaScript

목록 보기
15/27

고차함수

sort

sort함수만 callback가능

nums.sort(function(a, b){
  return a - b
});
  1. a, b는 array 안의 자료들입니다.
  2. return 오른쪽이 양수면 a를 오른쪽으로 정렬해줍니다.
  3. return 오른쪽이 음수면 b를 오른쪽으로 정렬해줍니다.
  4. 그리고 array 안의 자료들을 계속 뽑아서 a, b에 넣어줍니다.
    이렇게 동작해서 a - b 저렇게 쓰면 숫자순 정렬이 되는 것입니다.

x-y; > 0 이면 서로의 자리를 바꾸게 되면서 작은 값이 앞으로 오게 된다.
y-x; > 0 이면 서로의 자리를 바꾸게 되면서 큰 값이 앞으로 오게 된다.

(참고)
sort 함수는 원본을 변형시켜버립니다.
요즘 코드짤 때 원본을 변형시키는건 나중에 힘들어질 수 있어서
array/object 자료 조작시엔 원본을 따로 복사해두고 조작하는 경우가 많습니다.

forEach()

forEach : 배열에 있는각각의 요소들이 들어오면서 for문이 실행

map ()

array 안의 자료들을 전부 변형하려면 map 함수를 씁니다.

item 자리엔 임의로 지정해서 넣으면 됨 배열 요소들을 넣는다는 말임

이런거 응용하면 쇼핑몰에서 "달러 -> 원화로 변환하기" 이런 기능도 만들 수 있겠군요.
array 안에 있는 숫자들을 달러가격이라고 생각해봅시다. 이걸 전부 원화가격으로 변경하고 싶으면?
아마 map 써서 1000얼마 곱해주면 끝일듯요.

find()

findIndex

users.findIndex(function (user) {
return.		==  	;
});

-> 몇번째에 있는지(왼 쪽부터 찾음)

lastIndexOf

몇번째에 있는지(오른쪽부터 찾음)

includes

인자가 있는지 없는지 불리언 값으로 반환

users.includes('요소');  // true or false

filter()


filter는 원본을 변형시키지 않는 고마운 함수기 때문에 새로운 변수에 담아써야합니다.

reduce ()


function sumTotal(...numbers) {
	return numbers.reduce(
		(total, current) => total + current,
		0  // total 초기값 0,
	);
}

console.log(sumTotal(1, 2, 3, 4, 5));   // 15출력

0+1
1+2
2+3
5+4
9+5
=15

profile
취미로 하는 공부기록장

0개의 댓글