Javascript 在下划线/lodash中,如何避免“map”方法中的重复计算?
这是我的密码:Javascript 在下划线/lodash中,如何避免“map”方法中的重复计算?,javascript,functional-programming,underscore.js,lodash,Javascript,Functional Programming,Underscore.js,Lodash,这是我的密码: var transformed = _(original).map(function (c) { return { lat: wgs2gcj(c.latitude, c.longitude).lat lng: wgs2gcj(c.latitude, c.longitude).lng } }); 比如说,wgs2gcj是来自第三方库的函数,计算起来需要很长时间。有没有办法只进行一次计算?对于较少的代码,您也可以使用: transfo
var transformed = _(original).map(function (c) {
return {
lat: wgs2gcj(c.latitude, c.longitude).lat
lng: wgs2gcj(c.latitude, c.longitude).lng
}
});
比如说,
wgs2gcj
是来自第三方库的函数,计算起来需要很长时间。有没有办法只进行一次计算?对于较少的代码,您也可以使用:
transformed = _(original).map(function (c) {
var coordinates = wgs2gcj(c.latitude, c.longitude);
return {
lat: coordinates.lat
lng: coordinates.lng
}
});
对于更少的代码,您还可以使用: 如果出现重复条目,则可能与组合。如果出现重复条目,则可能与组合。
_(original)
.map(function(c) {
return _.pick(wgs2gcj(c.latitude, c.longitude), 'lat', 'lng');
})
.value();