假设我有两个数组:

a=[168, 76, 62, 86]

b=[168, 80, 65, 90]


我的输入

[166.5, 75.5, 62, 86]


现在,我想将数组“ a”作为我的“结果”,因为它比“ b”更类似于“ a”。

我怎样才能做到这一点?

最佳答案

您可以收集绝对增量,然后选择误差较小的增量。



var array1 = [168, 76, 62, 86],
    array2 = [168, 80, 65, 90],
    input = [166.5, 75.5, 62, 86],
    error = [array1, array2].map(function (a) {
        return input.reduce(function (r, b, i) {
            return r + Math.abs(a[i] -b);
        }, 0);
    });

console.log(error); // [2, 13] take the first one with smaller error.

关于javascript - 查找最相似的数字数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45709734/

10-11 21:45