如何返回数组的最低索引?

Rus*_*esh 1 javascript

例如,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)

Nic*_*ons 6

您可以使用.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)