You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何依据指定参考数组的顺序对目标数组元素进行排序?

按参考数组顺序排序目标数组

给定参考数组:

let array = ["Approved", "Pending", "Not Approved", "Rejected", "Failed"]

目标数组:

let array1 = ["Approved", "Failed", "Pending", "Not Approved", "Pending", "Rejected", "Not Approved"]

需要按参考数组的顺序对目标数组排序,预期输出:

["Approved", "Pending",  "Pending", "Not Approved", "Not Approved", "Rejected", "Failed"]

实现方法

利用参考数组的索引作为排序优先级,通过sort方法结合indexOf实现:

let sortedArray = array1.sort((a, b) => array.indexOf(a) - array.indexOf(b));
console.log(sortedArray);

逻辑说明

  • array.indexOf(a)会返回元素a在参考数组中的位置索引,索引越小,排序优先级越高
  • 排序时比较两个元素的索引差值:差值为负则a排在b前面,差值为正则相反,差值为0则保持原有相对位置
  • 最终目标数组的元素会完全匹配参考数组的顺序,重复元素也会集中到对应位置

内容的提问来源于stack exchange,提问作者Siva Sai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 14:15:34