按 JavaScript 中的第二字串的順序對一個字串進行排序


問題

我們需要編寫一個 JavaScript 函式,該函式有兩個字串作為第一個引數和第二個引數,分別是 str1 和 str2。

我們的函式應根據它們在 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

更新於: 2021 年 4 月 22 日

165 次瀏覽

開啟您的 職業生涯

完成課程獲得認證

立即開始
廣告
© . All rights reserved.