按 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