所以我有这个简单的功能:
function exampleFn (firstArray, secondArray) {
return firstArray.map((x, y) =>
Math.abs(x - secondArray[y]))
.reduce((a, b) => a + b * b) / firstArray.length;
}
功能:
- 接受两个长度相等的整数数组
- 将一个数组中每个成员的值与另一个数组中的对应成员的值进行比较
- 将这两个值之间的绝对值差平方
- 并返回每个成员对之间的平方绝对值差的平均值。
它适用于以下值:[10, 20, 10, 2], [10, 25, 5, -2] //16.5 == 16.5。也适用于:[-1, 0], [0, -1] //1 == 1。 但它不适用于: [1, 2, 3], [4, 5, 6] //应该为 9,而不是返回 7
为什么会发生这种情况,我该如何解决(我只想在一行中执行此操作,长或短)?我想念 .reduce() 的什么?
- [3, 3, 3].reduce((a, b) => a + b*b) -----> 当我认为它应该返回 27 时返回 21。