카테고리 없음

Til (2023.02.10)

prdg 2023. 2. 11. 00:55

검색 기능이다. friendSearchInput으로 입력값을 받아온다음 필터를 거쳐서 검색한다.

원래 첫번째 것 처럼 하면 검색할때 안 나오는게 있는 문제가 있었는데 두번째 처럼 for문 밖으로 return 값을 빼니 잘 작동됐다.

includes기능은 소문자 대문자를 구분하기 때문에 toLowerCase로 양측다 맞추고 비교해 줬다.


  const friendSearch = data?.data.filter((i: FriendSearchProps) => {
    if (frendSearchInput === "") {
      return;
    } else {
      for (let t = 0; t < alreadyFriend.length; t++) {
        if (alreadyFriend[t].id === i.id) {
          return;
        }
      }
      return i.nickname.includes(frendSearchInput) && i.id !== myId;
    }
  });
  const friendSearch = data?.data.filter((i: FriendSearchProps) => {
    if (frendSearchInput === "") {
      return;
    } else {
      // 현재 친구상태면 안보이게
      for (let t = 0; t < alreadyFriend.length; t++) {
        if (alreadyFriend[t].id === i.id) {
          return;
        }
      }
      //대문자 검색
      const lowercaseNickname = i.nickname.toLowerCase();
      const lowercaseSearchInput = frendSearchInput.toLowerCase();
      return i.id !== myId && lowercaseNickname.includes(lowercaseSearchInput);
      //특정문자열이 포함되면 true반환
      //자신은 안뜨고 검색한것만
      // for문 밖으로 return값을 빼내니까 영어검색 작동
    }
  });