728x90
반응형
1. 함수
//함수:풀어씀
let a = function (input) {
return output;
};
동일: 짧게씀
function a(input) {
return output;
}
console.log(typeof a); //object
//참조형(배열,객체,함수) typeof : object
//3을 반환하는 함수
let f1 = function () {
return 3;
};
//동일
let test1 = 3;
let test2 = f1();
//인자(parameter) = input
let f2 = function (a) {
return a;
};
let test3 = f2(1); // 1
//1. 인자를 3개 받아서, 모든 값을 더해서 출력하는 함수
let func01 = function add(a, b, c) {
return a + b + c;
};
console.log(func01(1, 1, 1));
//2. 인자를 2개 받아서 모든 값을 곱해서 출력하는 함수
let func02 = function multi(a, b) {
return a * b;
};
console.log(func02(2, 3));
//3.인자를 4개 받아서 console.log에 합을 출력하고 아웃풋은 없는 함수
let func03 = function multiFour(a, b, c, d) {
console.log(a + b + c + d);
};
func03(1, 2, 3, 4);
//4.
let testFunc = function (a, b) {
console.log(a + b);
return a * b;
};
console.log(testFunc(2, 3));
//화살표 함수
let fun04 = function(a,b){
return a+b;
}
fetch('url')
.then(res=>res.json())
//.then(res2=>console.log(res2));
.then(function(res2){
'dataatatata'
})
2. 배열
//조건
//for(let a= 0 ; a <5 ;a =6)
//a가 0일때 한번 돌고 out
//1번 출력
//for(let a= 5 ; a <5 ;a =6)
//처음이여도 a<5 조건에 맞아야 들어감
// 0번 출력
//배열.forEach(value, index)(function {};) > index : 두번째 인자는 선택사항
//배열: length
const arr = [1, 2, 3, 4, 5];
for (let a = 0; a < arr.length; a++) {
console.log(arr[a]);
}
//for문 사용 x : forEach
const arr01 = [1, 4, 2, 3, 10, 15, 0];
arr01.forEach(function (x) {
console.log(x);
});
// 배열 : filter
//함수와 메서드(호출주체o) 의 차이 (호출주체 유무)
//filter -> 새로운 배열 생성 --> return true / false
//arr01에있는 요소 중에서 5이상인 값을 이용해서 새로운 배열 만들기
const arr01 = [1, 4, 2, 3, 10, 15, 0];
const resultArrow = arr01.filter((x) => x > 5);
const resultBasic = arr01.filter(function (x) {
if (x > 5) return true;
});
//배열 : filter + includes
const arr02 = ['홍길동', '홍길순', '옹길동'];
const arr02Result = arr02.filter(function (value) {
if (value.includes('홍길')) return true;
});
console.log(arr02Result);
const arr02Result2 = arr02.filter((x) => x.includes('홍길'));
console.log(arr02Result2);
//배열 : find
//filter + [0]번째 요소 = find
const arr02 = ['홍길동', '홍길순', '옹길동'];
const arr02Result2 = arr02.filter((x) => x.includes('홍길'));
console.log(arr02Result2[0]); //홍길동
//find :조건에 해당하는 첫번째 요소 출력
//filter + [0]번쨰 요소 =find
const arrFind = arr02.find((x) => x.includes('홍길'));
console.log(arrFind); //홍길동
//배열 : map
// map을 사용해서 객체 return 가
//map
const arr = [1, 2, 5, 10, 4];
const result = arr.map(function (value, index) {
console.log(value);
console.log(index);
return {
key: value,
value: value * 2,
};
});
//map은 배열의 개수만큼 undefined라도 할당이됨
//return에 있는 값이 출력
console.log(result); //[ undefined, undefined, undefined, undefined, undefined ]
// 배열 리턴 -> 가공해서 새로운 것 출력
console.log(result);
/*
[
{ key: 1, value: 2 },
{ key: 2, value: 4 },
{ key: 5, value: 10 },
{ key: 10, value: 20 },
{ key: 4, value: 8 }
]
*/
//최종 정리 : 배열 체이닝
//map + filter + forEach
//filter + map 많이 사용
//arr 안에 있는요소 2배씩해서
//5이상인 애들만 필터링해서 새로운 배열 만들기
//filter.map 많이 사용함
const arr03 = [1, 2, 5, 10, 4];
const result03 = arr03
.map(function (값) {
return 값 * 2; //2,4,10,20,8
})
.filter(function (값) {
return 값 >= 5; //10,20,8
}).forEach(function (값) {
console.log(값);
});
반응형
'TIL :: Today I Learned' 카테고리의 다른 글
JS 비동기/동기 async + await 사용 (0) | 2023.10.27 |
---|---|
Fetch API 데이터로 정렬 (평점순 / 제목순 / 개봉일순) (0) | 2023.10.26 |
깃허브로 협업하기 (1) | 2023.10.24 |
사진에 마우스 hover 하면 버튼 기능 추가 (0) | 2023.10.24 |
#1 영화 TOP 20 검색 사이트 구현 (+오픈 api 사용) (0) | 2023.10.23 |