배열 다루는 메서드가 너무 많아서 헷갈려요. find, filter, some, every 이 네 개가 다 조건 걸어서 뭔가 찾는 거 같은데 언제 뭘 써야 하는지 구분이 안 돼요. 그냥 다 filter로 해결하고 있거든요.


예를 들어 유저 목록에서 특정 아이디 하나 찾고 싶을 때 저는 이렇게 했어요.


const users = [
  { id: 1, name: "철수", active: true },
  { id: 2, name: "영희", active: false },
];

const found = users.filter(u => u.id === 2)[0];


filter로 걸러서 [0] 뽑는 식인데 이게 좀 이상한 거 같긴 해요. 하나만 찾을 땐 find를 쓰는 게 맞나요? 리턴되는 게 배열인지 객체인지도 매번 헷갈려요.


그리고 some이랑 every는 아예 언제 쓰는 건지 모르겠어요. 예를 들어 "유저 중에 비활성인 사람이 한 명이라도 있나" 아니면 "전부 활성 상태인가" 이런 거 체크할 때 쓰는 건가요? 지금은 이런 것도 filter 돌리고 length로 확인하고 있어서요.


const hasInactive = users.filter(u => !u.active).length > 0;


네 개 차이랑 각각 어떤 상황에서 쓰는 게 맞는지 실제 예시로 정리해주시면 정말 감사할 거 같아요.