Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 문자열의 첫 번째 비반복 문자 찾기

<시간/>

문자열을 첫 번째이자 유일한 인수로 사용하는 JavaScript 함수를 작성해야 합니다.

함수는 문자열에서 한 번만 나타나는 문자열에서 발견한 첫 번째 문자의 인덱스를 찾아서 반환해야 합니다.

문자열에 고유한 문자가 포함되어 있지 않으면 함수는 -1을 반환해야 합니다.

예를 들어 -

입력 문자열이 -

인 경우
const str = 'hellohe';

그러면 출력은 다음과 같아야 합니다. -

const output = 4;

예시

다음은 코드입니다 -

const str = 'hellohe';
const firstUnique = (str = '') => {
   let obj = {};
   for(let i = 0; i < str.length; i++){
      if(str[i] in obj){
         let temp = obj[str[i]];
         let x = parseInt(temp[0]);
         x += 1;
         temp[0] = x;
         obj[str[i]] = temp;
      } else {
         obj[str[i]] = [1, i]
      }
   }
   let arr = Object.keys(obj);
   for(let i = 0; i < arr.length; i++){
      let z = obj[arr[i]]
      if(z[0] === 1){
         return z[1];
      }
   }
   return -1;
};
console.log(firstUnique(str));

출력

다음은 콘솔 출력입니다 -

4