如何从Javascript中的数组中获取最小差值

时间:2017-08-26 13:25:33

标签: javascript angularjs logic

我有一个包含多个值的数组。像

var values = [1.5, -1, 0 , 5, 5.5, -4];

在这种情况下,我想要0,因为0是与0的最小差异。

var values = [1.5, -1 , 5, 5.5, -4];

在这种情况下,我想要-1,因为0是与0的最小差异。

var values = [1, -1 , 5, 5.5, -4];

在这种情况下,我想要+1

提前致谢

2 个答案:

答案 0 :(得分:2)

您可以使用reduce来创建此类功能。

function getMin(data) {
  return data.reduce(function(r, e, i) {
    let absR = Math.abs(r), absE = Math.abs(e);
    if (absR > absE || i == 0 || (absR == absE && e > r)) r = e
    return r
  })
}

console.log(getMin([1.5, -1, 0, 5, 5.5, -4]))
console.log(getMin([1.5, -1, 5, 5.5, -4]))
console.log(getMin([1, -1, 5, 5.5, -4]))
console.log(getMin([-1, 1, 5, 5.5, -4]))

答案 1 :(得分:0)

尝试这样的事情:

...
ReactDOM.render(app.getComponent(), req.originalUrl, async function (Handler, state) {

        // Trigger fetching and wait for the data required by the components of the given route
        await fetchData(context, state);
...

如果这不是你想要的,请告诉我,我可以改变我的答案。