在 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

以上是 在 JavaScript 中按秒的顺序对一个字符串进行排序 的全部内容, 来源链接: utcz.com/z/345800.html

回到顶部