按 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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP