중복 단어 제거 Array.filter, Array.indexOf

daybyday·2021년 2월 27일
0

입력 받은 문자열 중 중복 단어를 제거하고 차례대로 출력하시오.

입력 예 : ice, americano, hot, americano, choco
결과 : ice, americano, hot, choco


function solution(arr) {
    let answer = arr.filter((s, i) => {
        if (arr.indexOf(s) === i) return s;
    });

    return answer;
}

let arr = ['good', 'time', 'good', 'time', 'student'];
solution(arr);

배열 내장함수인 filter로 조건에 맞는 새로운 배열을 반환한다.

단어의 인덱스와, 그 단어를 indexOf로 찾은 반환값이 같은 경우가 중복이 아닌, 제일 처음 찾은 문자일 것이므로 그 단어만 리턴한다.

0개의 댓글