我有一堆数值,例如:[1,2,14,51,100,103,107,110,300,505,1034]。 我有一个模式值,例如[1,10,20,100,500,1000]。 我需要从模式中获得最合适的“合适”值。在我的例子中它是100.我怎样才能检测到这个值?
生活中的例子。该应用程序在用户位置和某些对象之间有一堆距离。该应用程序还有一个预设的距离过滤器:[1米,10米,20米,100米]。我注意默认情况下不仅将滤波器设置为第一个值(在我的示例中为1米),而是设置与最佳路径匹配的值(在我的示例中为100米)。我需要检测一个值。
感谢您的帮助和任何想法。
答案 0 :(得分:0)
我想说创建一个这样的函数(这不是真正的代码):
var ratio1 = 0.66
var ratio2 = 1.5
function Score(currentPatternValue, arrayOfValues)
{
count = 0
for each value in arrayOfValues <br>
if value > ratio1 * currentPatternValue AND value < ratio2 * currentPatternValue<br>
count++<br>
return count
}
然后为模式值中的每个值运行此选项,并选择从该函数返回的得分最高的那个