.filter()
는 map이나 foreach처럼 요소들을 반복해주는건 동일 하지만
조건을 걸어서 조건에 맞는 것들만 리턴시키는 method입니다.
let abc = [1,2,3,4,5,6]
const newAbc = abc.filter((el) => {
return el%2 === 1
})
이러면 newAbc에는 [1,3,5]
가 들어갑니다!
이런식으로 활용할 수가 있습니다.
자 그럼 댓글을 어떻게 지웠냐 봅시다
handleRemoveClick = (commentId) => { this.setState({ data: { ...this.state.data, feedComment: this.state.data.feedComment.filter((comment) => { return comment.id !== commentId; }), }, }); };
이런식으로 handleRemoveClick 함수가 실행 되면
각 버튼마다 자신의 id(key값)을 파라미터에 넣고
자기를 제외한 나머지로 배열을 재구성 합니다.
이렇게 댓글을 각각 지울수 있습니다!
이것은 한마디로 복사를 해주는 것입니다.
let abc = [1,2,3,4,5,6]
s
let eee = [...abc]
const newAbc = abc.filter((el) => {
return el%2 === 1
})
이렇게 복사를 할수 있습니다.
distructuring 은 비구조화 할당이라고 합니다.
어떠한 object를 특정 변수에 넣고 싶을때 일일이 다 주려면 굉장히 비효율적이고
코드가 길어져서 가독성이 떨어질수도 있습니다.
let abc = {
a: 1,
b: 2,
c: 3,
}
const a = abc.a;
const b = abc.b;
const c = abc.c;
console.log(a,b,c)
이런 코드를
let abc = {
a: 1,
b: 2,
c: 3,
}
const { a, b, c } = abc
console.log(a,b,c) // 1, 2, 3 나옴
이렇게 간단하게 쓸 수 있습니다!