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

标签 javascript

例如,getIndexToIns([1,2,3,4], 1.5) 应该返回 1 因为它大于 1 (索引 0),但小于 2(索引 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);

最佳答案

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

关于javascript - 如何返回数组的最低索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59558349/

相关文章:

javascript - 如何使用不可变的 javascript 模拟状态

javascript - 单击编辑和删除 Div 并在代码中应用更改

Javascript:如何从 HTML 文件输入获取 .tgz MIME 类型?

javascript - 向上滚动 SVG 后网页重置(javascript)

javascript - SharePoint 设计器中的 CAML 查询问题

javascript - 什么是模块,module.exports与export之间的区别是什么?

php - 如何使用 Joomla 作为服务器配置跨源资源共享 (CORS)?

javascript - Chrome 抛出 Uncaught TypeError : Cannot call method 'toLowerCase' of undefined when using e. keyCode

javascript - 如何在 javascript onclick 函数中使用 *this* 并使用 jquery 进行遍历

javascript - 将事件 anchor 类链接到页面部分