lodash计算数组元素之间的差异

javascript中使用lodash,我需要一种方法来计算数组元素之间的差异,例如:

随着数组
[0,4,3,9,10]
我需要得到每个元素之间的差异。
输出应该是
[4,-1,6,1]

我将如何使用lodash做到这一点?

在ruby中,它看起来像这样:
ary.each_cons(2).map { |a,b| ba }

       

网上收集的解决方案 "lodash计算数组元素之间的差异"

一个可能的解决scheme是使用_.map()

 var arr = [0,4,3,9,10]; var result = _.map(arr, function(e, i) { return arr[i+1] - e; }); result.pop(); document.write(JSON.stringify(result)); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.9.3/lodash.min.js"></script> 

你可以做一些这样的事情:

 var arr = [0, 4, 3, 9, 10]; var res = []; _.reduce(_.rest(arr), function (prev, next) { res.push(next - prev); return next; }, arr[0]); 

如何使用_.reduce :

 (function () { var nums = [0,4,3,9,10]; var diffs = _.reduce(nums, function(result, value, index, collection) { if (index === 0) return result; result[index] = value - collection[index - 1]; return result; }, []).slice(1); $('.output').text(JSON.stringify(diffs)); }()); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.9.3/lodash.min.js"></script> <div class=output></div>