0

我有一堆值,例如:[1,2,14,51,100,103,107,110,300,505,1034]。我有一个模式值,例如 [1,10,20,100,500,1000]。我需要从模式中获得最佳的“合适”价值。在我的示例中为 100。如何检测此值?

生活中的例子。该应用程序在用户位置和某些对象之间有一堆距离。该应用程序还具有按距离预设的过滤器:[1 米、10 米、20 米、100 米]。我注意默认情况下将过滤器设置为第一个值(在我的示例中为 1 米),而是设置为与一堆距离最佳匹配的值(在我的示例中为 100 米)。我需要检测一个值。

感谢您的帮助和任何想法。

4

1 回答 1

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
            }

然后你为你的模式值中的每个值运行它,并选择从该函数返回的得分最高的那个

于 2012-11-11T23:24:44.907 回答