Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.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_Php_Arrays_Points - Fatal编程技术网

Javascript 如何在数组中找到最大值的键≤;特定值?

Javascript 如何在数组中找到最大值的键≤;特定值?,javascript,php,arrays,points,Javascript,Php,Arrays,Points,我有一个数组,它将用户级别与该级别所需的最低点相关联,如下所示: $userLV = array(0 => 0, 1 => 400, 2 => 800); 关键是级别,该值是该级别所需的最低分数 如果用户有一定数量的$points,我需要通过从$userLV数组中查找与其小于$points的最大值对应的键来查找其级别 我怎样才能做到这一点?(示例数组是PHP,但JavaScript或任何语言的示例都会有所帮助。)这里有一种方法(请注意,这取决于已按升序排序的数组): 另一个选

我有一个数组,它将用户级别与该级别所需的最低点相关联,如下所示:

$userLV = array(0 => 0, 1 => 400, 2 => 800);
关键是级别,该值是该级别所需的最低分数

如果用户有一定数量的
$points
,我需要通过从
$userLV
数组中查找与其小于
$points
的最大值对应的键来查找其级别

我怎样才能做到这一点?(示例数组是PHP,但JavaScript或任何语言的示例都会有所帮助。)

这里有一种方法(请注意,这取决于已按升序排序的数组):

另一个选择是,如果您想继续以400的倍数递增级别,只需使用数学

$level = intval($points / 400);
下面是一种方法(请注意,这取决于已按升序排序的数组):

另一个选择是,如果您想继续以400的倍数递增级别,只需使用数学

$level = intval($points / 400);

Javascript中的提案

函数getLevel(点){
var水平;
[040080]。每个(函数(v,i){
如果(点>=v){
级别=i;
返回true;
}
});
回报水平;
}

document.write([002004006008001000]).map(函数(a){return'点:'+a+',级别:'+getLevel(a);}).join('
')Javascript中的提案

函数getLevel(点){
var水平;
[040080]。每个(函数(v,i){
如果(点>=v){
级别=i;
返回true;
}
});
回报水平;
}

document.write([002004006008001000]).map(函数(a){return'点:'+a+',级别:'+getLevel(a);}).join('
')我看不出你想在这里做什么;我想知道这个级别有什么办法@DagonI不知道你想在这里做什么;我想知道有什么办法可以做到@Dagon