Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 试图从数字列表中提取数组值,但返回的值的数组长度无效_Javascript_Arrays_Concatenation - Fatal编程技术网

Javascript 试图从数字列表中提取数组值,但返回的值的数组长度无效

Javascript 试图从数字列表中提取数组值,但返回的值的数组长度无效,javascript,arrays,concatenation,Javascript,Arrays,Concatenation,我正在尝试从特定阵列中提取阵列项目编号 例如,如果输入值的数字介于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

我正在尝试从特定阵列中提取阵列项目编号

例如,如果输入值的数字介于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]


谢谢你

我想你要找的是。它接受回调并返回回调返回的第一个项的索引
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--没有大于4.0的项目

console.log(arr.findIndex(item=>item>4.5))
您期望哪些数组长度,即
end-(endValue[j-1]| |-1)
的期望值是多少?目前,它们都不是整数。在我的示例中,我希望输出4,当我处理整数时,映射。()函数正在处理结束-(endValue[j-1]| |-1)我想知道当我使用小数时,为什么会出现问题?在你的整个数组中,
2.65
在哪里我不能see@CodeManiac该值是两个数组项之间的一个数字,它应该返回高于它的数组项的值,因此在本例中为2.79,即数组[4]我想你是对的,我的数据结构是这样布置的,我想我只是想把数组项具体化,谢谢