Skip to content

Latest commit

 

History

History
23 lines (17 loc) · 612 Bytes

ranking.md

File metadata and controls

23 lines (17 loc) · 612 Bytes
标题 标签
ranking(数组比较) array,math(数组,数学)

根据比较器函数计算数组的排名。

  • 使用 Array.prototype.map() 和 Array.prototype.filter() 使用提供的比较函数将每个元素映射到一个等级。
const ranking = (arr, compFn) =>
  arr.map(a => arr.filter(b => compFn(a, b).length + 1));

调用方式:

ranking([8, 6, 9, 5], (a, b) => a < b);
// [2, 3, 1, 4]
ranking(['c', 'a', 'b', 'd'], (a, b) => a.localeCompare(b) > 0);
// [3, 1, 2, 4]

应用场景