要按查询顺序对JS字符串数组排序,可以使用Array.prototype.sort()方法结合Array.prototype.indexOf()方法来实现。下面是一个代码示例:
function sortByQueryOrder(arr, queryArr) {
return arr.sort(function(a, b) {
return queryArr.indexOf(a) - queryArr.indexOf(b);
});
}
// 示例用法
var arr = ['apple', 'banana', 'orange', 'mango'];
var queryArr = ['banana', 'orange', 'apple', 'mango'];
var sortedArr = sortByQueryOrder(arr, queryArr);
console.log(sortedArr); // 输出:['banana', 'orange', 'apple', 'mango']
在上面的代码中,sortByQueryOrder函数接受两个参数,arr是要排序的字符串数组,queryArr是查询顺序的字符串数组。在sort方法中,我们使用indexOf方法来获取每个字符串在queryArr中的索引,然后根据索引的差值来确定它们的排序顺序。
注意,如果arr中有字符串不在queryArr中,它们将被放到排序结果的最后。
上一篇:按查询输出列排序
下一篇:按查询中的单词顺序对文档进行排序