2019-06-08
描述
把一个元素按照数组中原有的排序规则插入该数组中适当的位置,并返回插入位置的最小索引值。
提示
- 宽松的检查数组的排序规则是否为降序
- 使用
Array.prototype.findIndex()
找出元素应该插入的最接近的索引
代码
const sortedIndex = (arr, n) => {
const isDescending = arr[0] > arr[arr.length - 1];
const index = arr.findIndex(el => (isDescending ? n >= el : n <= el));
return index === -1 ? arr.length : index;
};
示例
返回给定元素应插入的位置:
sortedIndex([5, 3, 2, 1], 4); // 1
sortedIndex([30, 50], 40); // 1