nodejs

javascript에서 filter() 사용방법

빛나는구슬 2023. 10. 24. 14:02

배열에서 특정 요소를 삭제하고 싶을때, 

다르게 말하면 특정 요소를 삭제하고, 나머지 애들을 할당시켜주고 싶을때,

filter()를 쓴다고한다. 

app.post("/posts", (req, res) => {
  const { title, name, text } = req.body;
  posts.push({ id: posts.length + 1, title, name, text, createdDt: Date() });
  res.json({ title, name, text });
});

app.delete("posts/:id", (req, res) => {
  const id = req.params.id;
  const filteredPosts = posts.filter((post) => post.id !== +id);
  const isLengthChanged = posts.length !== filteredPosts.length;
  posts = filteredPosts;
  if (isLengthChanged) {
    res.json("OK");
    return;
  }
  res.json("NOT CHANGED");
});

이런 코드를 작성 중인데

filter가 이해가 되지 않아서 

 

검색해본 결과,

 

내 해석은 이렇다 

 

filteredPosts에 posts에 있는 배열중 일부만 할당해줄건데

일단 post한 애들(?)이 있을 것이고, 그 애들 중 특정 id가 있을건데 그 id를 제외한 애들만

filteredPosts에 할당한다!

그리고 posts와 filteredPosts를 같게해주면 먼저 post했던 거에서 특정 id를 뺀 것으로 변경(?)될 것이다..... 라고 이해했다

 

아직 용어가 너무 어렵고 설명하기도 힘들어서 이렇게 썼지만 

나중에 다른 방식으로도 filter 연습을 해보고,,,

수정하겠다............ ㅠ - ㅠ