我正在尝试从特定数组中提取数组项号。
例如,如果输入值的数字介于2.59和2.79之间,例如2.65
使用此功能的输出
const gpaToLevel = [].concat(...
[1.99, 2.19, 2.39, 2.59, 2.79, 2.99, 3.19, 3.39, 3.59, 3.79, 4.00].map((ending, j, endValue) =>
Array(ending - (endValue[j-1] || -1)).fill(j)
)
);
应为4,因为2.65小于2.79,而2.79的值为[4]。
谢谢
答案 0 :(得分:2)
我认为您正在寻找的是findIndex()
。它需要一个回调,并将返回回调返回true
的第一项的索引。
因此,如果您对数组进行了排序,则可以使用:
arr = [1.99, 2.19, 2.39, 2.59, 2.79, 2.99, 3.19, 3.39, 3.59, 3.79, 4.00]
// 4
console.log(arr.findIndex(item => item > 2.65))
// 5
console.log(arr.findIndex(item => item > 2.85))
// 0
console.log(arr.findIndex(item => item > 1.85))
// -1 -- no items greater than 4.0
console.log(arr.findIndex(item => item > 4.5))