例如,getIndexToIns([1,2,3,4], 1.5)应该返回,1因为它大于1(index 0),但小于2(index 1)。
同样,getIndexToIns([20,3,5], 19)应该返回2因为一旦阵列已排序它看起来像[3,5,20]和19小于20(指数2)和大于5(指数1)。
这是我的代码
function getIndexToIns(arr, num) {
// Find my place in this sorted array.
arr = arr.sort();
num = Math.floor(num);
for(let i=0;i<arr.length;i++){
}
return num;
}
getIndexToIns([690, 60], 59);
Run Code Online (Sandbox Code Playgroud)
您可以使用.findIndex()查找排序数组中大于传递num元素的第一个元素:
const getIndexToIns = (arr, num) => {
const res = arr.sort((a, b) => a-b).findIndex(n => n > num);
return res === -1 ? arr.length : res;
}
console.log(getIndexToIns([1,2,3,4], 1.5));
console.log(getIndexToIns([20,3,5], 19));
console.log(getIndexToIns([20,3,5], 100)); // 3 (array length)Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
186 次 |
| 最近记录: |