【发布时间】:2011-01-26 23:53:37
【问题描述】:
我在 javascript 中有一个整数数组,[5,10,15,20,25,30,35]
当给定一个数字 x 时,如何在数组中找到最接近该数字的元素?
如果数字超过一个值,但小于下一个数字的一半,我会选择较小的值,如果它超过下一个数字的一半,我会选择更大的数字。
例如 7 会返回 5,但 8 会返回 10。我怎样才能做到这一点?任何帮助或提示将不胜感激。我已经搜索并找不到解决方案。我敢肯定这很常见。
【问题讨论】:
-
像往常一样:到目前为止你尝试了什么?
-
获取与您的点的绝对距离(作为 Y),然后将该 Y 反转为比例(这围绕 X === 0.5 进行缩放,其中 Y 为最大值)
(0.5 - Math.abs(0.5 - value)) / 0.5;
标签: javascript arrays algorithm math