取值更接近的数组
Take the array with the value more proximity
我有一组数据,我使用表单获取它,并使用这些数据调用网站的api。要成为单个值,是否进行了任何检查并将该值用于调用,该值返回了一个值,其中包含我必须减去在表单上输入的值编号的百分比。
GET /getvalues?id={FORMNUMBER}
RETURN
{
"id": {FORMVALUE}
"percent": 45
}
现在在某些情况下,api返回多个值,并且它们没有与每个值关联的标识符,因此很容易,因为它们只需要获取标识符的值。
GET /getvalues?id={FORMNUMBER}
RETURN
{
"id": {FORMVALUE},
"values" : [
{
"value": 18,
"percent": 10
},{
"value": 45,
"percent": 24
},{
"value": 57,
"percent": 32
}
]
}
在前面的示例中,如果我表单中的值为 21,则应取 18,因为它在两个数字之间的差异较小,但如果值为 40,我也取值 18,因为它尚未超过值 45。
我需要将比这个值更等于或更低的值放在一个拾取形式的值旁边,并且我只会通过所有数组进行,使减法和较小的值添加到数组中,捕获较低值的末尾。还有什么方法更简单吗?我想我只能用一个相当长和复杂的功能来制作它,而且可能效率低下。谢谢。
只需反转数组(array.reverse()
(,那么函数就非常简单了。
var values = [{"value": 18, "percent": 10}, {"value": 45, "percent": 24}, {"value": 57, "percent": 32}].reverse();
var form_value = 40;
var percent;
for ( index = 0; index < values.length; ++index ) {
if ( form_value >= values[index].value ) {
percent = values[index].percent;
break;
}
}
console.log( percent ); // 10
相关文章:
- 获取最接近的数组数
- JavaScript:如何在最接近值的关联数组中查找键
- 在 javascript 数组中搜索最接近的下一个值
- 按键查找数组中最接近的 2 个元素
- 检测数组中接近且具有相同索引值的数字
- Javascript/jquery- 如何在数组中获取最接近的时间
- 预计浮点数数组接近 Jasmine 中的另一个数组
- 取值更接近的数组
- 从数组中获取最接近的数字匹配项,必须更低
- 如何使用 lodash 从数组中获取最接近目标的前两个数字
- javascript/查找数组中最接近的值
- 在Javascript中查找最接近所需值的数组条目
- 查找最接近给定时间数组的时间
- Javascript在数组中找到最接近的数字,而不需要重复
- 从数组中获取最接近的数字
- Javascript在数组中找到最接近的数字
- 最接近数组的价格
- 如何从数组中获得最接近的值
- 我如何在数组中找到最接近的数字,而不用遍历
- 获取数组(JS)组合的最接近的值