const a = [ {id=1,---} , {id=2 ,---} , {id=3,---} , {-----}]
이러한 배열이 있다고 생각해보자
이때 id =3 이 들어있는 객체의 모든 값들을 가져오고 싶을때
filter 를 사용해야할까 ? 아님 for을 이용해 하나하나 대비해서 가져와야할까 ?
제일 효율적인 방식이 뭘까 ? 를 생각했을때
filter()
주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환합니다.
말 그대로 필터를 사용하면 통과하는 모든것들을 모아서 새로운 배열을 만든다
우리가 하고싶은건 객체에서 원하는 것들 만 가져오는것
우선 의미적으로도 이 함수를 사용하는건 옳지 않거니와 필터를 사용했을때 나오는 값을 consol찍어보면 이러한 결과가 나온다
sdsds
딱 보면 알겠지만 값이 이상하다
이러한 배열을 어떻게 끄내올건지 생각하면 머리가 아프다
find()
find를 사용하면 원하는 배열이 잘 나온다 !
그럼 이때 어떻게 해야할까 !!!!
const result = movies.find((x) => x.id === id);
내가 가져온 id 값과 원래 api속 id 값이 일치하는걸 가져와서 result에 담는다 !
나중에 사용할땐
result.title
resuit.id
이런식으로 사용해주면 된다
오늘도 오래걸렸지만 기초부터 제대로 알게된 것 같아 마음이 편하다
'JavaScript' 카테고리의 다른 글
Promise 초보도 한번에 정리하기 / promise + then 으로 동기식 데이터 처리하는 방법 (0) | 2023.06.12 |
---|---|
Vanilla JS 를 이용해 영화 API 활용한 사이트 만들기 (1) | 2023.06.08 |
[Vanilla JS]페이지를 이동할때 데이터 가져오는 방법 (0) | 2023.06.08 |
if문 부정을 사용해서 지역객체 피하기 ! 앞으로 개발할때 이런 방식으로 하면 좋을 것 같은 꿀팁 ! (0) | 2023.06.08 |
[Vanilla JS]Uncaught TypeError : Cannot read properties of undefind ( reding ' ---' ) (0) | 2023.06.08 |