2019-06-10
描述
把一个元素按照数组中原有的排序规则插入该数组中适当的位置,并返回插入位置的最大索引值。
提示
- 宽松的检查数组的排序规则是否为降序
- 使用
Array.prototype.reverse()
和Array.prototype.findIndex()
获取元素应该插入的最接近的最大索引值
代码
const sortedLastIndex = (arr, n) => {
const isDescending = arr[0] > arr[arr.length - 1];
const index = arr.reverse().findIndex(el => (isDescending ? n <= el : n >= el));
return index === -1 ? 0 : arr.length - index;
};
示例
返回给定元素应插入的最大位置:
sortedLastIndex([10, 20, 30, 30, 40], 30); // 4
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于