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

JavaScript에서 두 번째 순서로 하나의 문자열 정렬

<시간/>

문제

첫 번째와 두 번째 인수로 str1과 str2라는 두 개의 문자열을 받는 JavaScript 함수를 작성해야 합니다.

우리의 함수는 str2에 나타나는 문자 순서에 따라 str1을 정렬해야 합니다.

예를 들어, 함수에 대한 입력이 -

인 경우

입력

const str1 = 'coding';
const str2 = 'gncabdi';

출력

const output = 'gncdio';

출력 설명

str2에서 처음에 나타나는 문자가 먼저 배치되고 뒤에 오는 문자가 오고 마지막으로 str2에 없는 문자가 옵니다.

예시

다음은 코드입니다 -

const str1 = 'coding';
const str2 = 'gncabdi';
const sortByOrder = (str1 = '', str2 = '') => {
   str2 = str2.split('');
   const arr1 = str1
      .split('')
      .filter(el => str2.includes(el))
      .sort((a, b) => str2.indexOf(a) - str2.indexOf(b));
   const arr2 = str1
      .split('')
      .filter(el => !str2.includes(el));
   return arr1.join('') + arr2.join('');
};
console.log(sortByOrder(str1, str2));

출력

gncdio