220919_TIL
오늘 한 일
- 배열 고차함수, forEach, map, sort 등
- 개인 프로젝트 주제선정 및 레이아웃
const fruits = ['🍌', '🍓', '🍇', '🍓'];
// 배열을 빙글 빙글 돌면서 원하는것(콜백함수)을 할때
fruits.forEach(function (value) {
console.log(value);
});
fruits.forEach((value) => console.log(value));
// 조건에 맞는(콜백함수) 아이템을 찾을때
// find: 제일 먼저 조건에 맞는 아이템을 반환
const item1 = { name: '🥛', price: 2 };
const item2 = { name: '🍪', price: 3 };
const item3 = { name: '🍙', price: 1 };
const products = [item1, item2, item3, item2];
let result = products.find((item) => item.name === '🍪');
console.log(result);
// findIndex: 제일 먼저 조건에 맞는 아이템의 인덱스를 반환
result = products.findIndex((item) => item.name === '🍪');
console.log(result);
// 배열의 아이템들이 부분적으로 조건(콜백함수)에 맞는지 확인
result = products.some((item) => item.name === '🍪');
console.log(result);
// 배열의 아이템들이 전부 조건(콜백함수)에 맞는지 확인
result = products.every((item) => item.name === '🍪');
console.log(result);
// 조건에 맞는 모든 아이템들을 새로운 배열로!
result = products.filter((item) => item.name === '🍪');
console.log(result);
console.clear();
// Map 배열의 아이템들을 각각 다른 아이템으로 매핑할 수 있는, 변환해서 새로운 배열 생성!
const nums = [1, 2, 3, 4, 5];
result = nums.map((item) => item * 2);
console.log(result);
result = nums.map((item) => {
if (item % 2 === 0) {
return item * 2;
} else {
return item;
}
});
console.log(result);
// Flatmap: 중첩된 배열을 쫘악 펴서 새로운 배열로!
result = nums.map((item) => [1, 2]);
console.log(result);
result = nums.flatMap((item) => [1, 2]);
console.log(result);
result = ['dream', 'coding'].flatMap((text) => text.split(''));
console.log(result);
// sort 배열의 아이템들을 정렬
// 문자열 형태의 오름차순으로 요소를 정렬하고, 기존의 배열을 변경
const texts = ['hi', 'abc'];
texts.sort();
console.log(texts);
const numbers = [0, 5, 4, 2, 1, 10];
numbers.sort();
console.log(numbers);
// < 0 a가 앞으로 정렬, 오름차순
// > 0 b가 앞으로 정렬, 내림차순
numbers.sort((a, b) => a - b);
console.log(numbers);
// reduce 배열의 요소들을 접어서 접어서 값을 하나로!
result = [1, 2, 3, 4, 5].reduce((sum, value) => (sum += value), 0);
console.log(result);
개인 프로젝트 주제를 사진편집 해주는 사이트로 정했다. 평소에 부업삼아 취미로 네이버 엑스퍼트에서 사진편집 작업을 하고 있는데, 이와 관련된 홈페이지를 네이버 엑스퍼트가 아닌 내가 직접 만든 사이트였다면 어떨까라는 생각으로 접근하게 되었다. 오늘은 피그마로 헤더부터 푸터영역까지 메인페이지 1면을 만들어봤는데 점점 수정해 나가면서 코드로 구현해 나갈 생각이다.
내일 할 일
- map과 set에 대한 세밀한 공부
- 이터러블, 제너레이터 등
댓글남기기