在 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