假设我有两个数组:
a=[168, 76, 62, 86]
b=[168, 80, 65, 90]
Run Code Online (Sandbox Code Playgroud)
我的输入
[166.5, 75.5, 62, 86]
Run Code Online (Sandbox Code Playgroud)
现在,我想将数组“ a”作为“结果”,因为它与“ a”比与“ b”更相似。
我怎样才能做到这一点?
您可以收集绝对增量,然后选择误差较小的增量。
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.Run Code Online (Sandbox Code Playgroud)