var a = [1, 5, 7, 3];
console.log(DiffTheArray(a));
使用
[4, 2, -4]
的预期结果(即原始数组的每两个元素之间的差异),如何最简洁地实现DiffTheArray
?我希望使用slices(
a.slice(1) - a.slice(0,-1)
)来实现它,但是在JS中似乎没有一种从另一个数组中减去一个数组的内置方法。 最佳答案
您还可以只使用常规的reduce函数:
function diffTheArray(arr) {
let diff = [];
arr.reduce((a, b) => {
diff.push(b - a);
return b;
});
return diff;
}
var a = [1, 5, 7, 3];
console.log(diffTheArray(a));
如果使用
comma operator
,则可以将返回值显示在同一行上,并利用es6的较轻语法:function diffTheArray(arr) {
let diff = [];
arr.reduce((a, b) => (diff.push(b - a), b));
return diff;
}
console.log(diffTheArray([1, 5, 7, 3]));