그래도 공부만 하면서 글을 쓰는 것 보단 오래오래 코딩하려면 운동을 병행해야한다는 생각을 실천해보자 ! 라는 생각으로 헬스장을 등록하고
(원래 계속 운동했었음)하체 운동을 마친 후 기술정리하며 공부중인데진짜 죽을 맛이다.
아 map 꽤 헷갈린다.
먼저 map은 배열안의 원소를 변환할 때 사용하며 모든 원소를 변환하고 싶을때 사용한다.
const array = [1, 2, 3, 4, 5, 6, 7, 8];
const squared = [];
for (let i = 0; i < array.length; i++) {
squared.push(array[i] * array[i]);
}
console.log(squared);
// [1, 4, 9, 16, 25, 36, 49, 64]
const array = [1, 2, 3, 4, 5, 6, 7, 8];
const squared = [];
array.forEach((n) => {
squared.push(n * n);
});
console.log(squared)
//[1, 4, 9, 16, 25, 36, 49, 64]
const array = [1, 2, 3, 4, 5, 6, 7, 8];
const square = (n) => n * n;
const squared = array.map(square);
console.log(squared);
//[1, 4, 9, 16, 25, 36, 49, 64]
const array = [1, 2, 3, 4, 5, 6, 7, 8];
const squared = array.map((n) => n * n);
console.log(squared);
//[1, 4, 9, 16, 25, 36, 49, 64]
map 함수를 사용하는게 오히려 더 간단하다. 조금 헷갈리긴 하지만 굳이 비어있는 배열을 만들 필요도 없고 코드도 더 간결하게 작성이 가능하다.
const items = [
{
id: 1,
text: "hello"
},
{
id: 2,
text: "bye"
}
];
const texts = items.map((item) => item.text);
console.log(texts);
// ["hello", "bye"]
const texts = items.map((item) => item.text);
이 코드에 있는 item은 items
의 객체를 뜻하고 .text
를 붙이면서 text의 내용을 가져올 수 있다.
const mbc = ["유재석","박명수","정준하","하하"];
const index = mbc.indexOf('박명수');
console.log(index);
// 1
indexOf
로 충분히 알수있다.객체이거나 특정 조건으로 찾는다면
indexOf로 할수없다. 이때 사용할 수 있는게 findIndex
이다.
const todos = [
{
id: 1,
text: "자바스크립트 입문",
done: true
},
{
id: 2,
text: "함수배우기",
done: true
},
{
id: 3,
text: "객체와 배열 배우기",
done: true
},
{
id: 4,
text: "배열 내장 함수 배우기",
done: false
}
];
위와 같이 객체를 가진 배열이 있다고 가정해보자.
id가 3인 값을 찾고 싶을때 배웠던 indexOf를 사용해보면
const index = todos.indexOf(3);
console.log(index);
// -1
-1이 나오게 된다.
여기서 나오는 -1은 값이 없다는걸
뜻한다.
const index = todos.findIndex((todo) => todo.id === 3);
const indexText = todos.findIndex((todo) => todo.text === "배열 내장 함수 배우기");
console.log(index);
console.log(indexText);
// 2
// 3
const indexId = todos.find((todo) => todo.id === 3);
console.log(indexId);
// {id: 3, text: "객체와 배열 배우기", done: true}
const indexDone = todos.find((todo) => todo.Done === false);
console.log(indexText);
// {id: 4, text: "배열 내장 함수 배우기", done: false}
// find로 찾은 값 원소에도 접근할수 있다.
console.log(indexDone.id)
// 4