Javascript loDash——有没有简化可读性的方法
我已经解决了逻辑问题,但希望找到一种更可读(和可维护)的方法来编写:Javascript loDash——有没有简化可读性的方法,javascript,lodash,Javascript,Lodash,我已经解决了逻辑问题,但希望找到一种更可读(和可维护)的方法来编写: let labels = _.map(_.keys( _.groupBy(sd, 'month')), (i) => { return months[i].abr; }); 可以使用链接简化它的可读性: let labels = _(sd) .groupBy('month') .keys() .map(key => months[key]) .value();
let labels = _.map(_.keys( _.groupBy(sd, 'month')), (i) => {
return months[i].abr;
});
可以使用链接简化它的可读性:
let labels = _(sd)
.groupBy('month')
.keys()
.map(key => months[key])
.value();
const labels = _(sd).groupBy('month').keys().map(i => months[i].abr);
使用方法链接:
let labels = _(sd)
.groupBy('month')
.keys()
.map(key => months[key])
.value();
const labels = _(sd).groupBy('month').keys().map(i => months[i].abr);
以下可能在语义上更好地表达您的意图:
const labels = _(sd).map('month').uniq().map(i => months[i].abr);
const月=[
{},
{
abr:'一月',
完整:“一月”
},
{
abr:'二月',
完整:“二月”
},
{
abr:'三月',
完整:“三月”
},
{
abr:'四月',
完整:“四月”
},
{
abr:“五月”,
完整:“五月”
},
{
abr:'六月',
完整:“六月”
},
{
abr:'七月',
完整:“七月”
},
{
abr:'八月',
完整:“八月”
},
{
abr:‘九月’,
完整:“Septmeber”
},
{
abr:'十月',
完整:“十月”
},
{
abr:'十一月',
完整:“11月”
},
{
abr:'十二月',
完整:“12月”
}
];
常数sd=[
{id:1,年份:2017,月份:10,服务:3,val:20},
{id:2,年份:2017,月份:10,服务:1,val:50},
{id:3,年份:2017,月份:10,服务:2,val:25},
{id:4,年份:2017,月份:11,服务:3,val:40},
{id:5,年份:2017,月份:11,服务:1,val:30},
{id:6,年份:2017,月份:11,服务:2,val:35},
{id:7,年份:2017,月份:12,服务:3,val:30},
{id:8,年份:2017,月份:12,服务:1,val:20},
{id:9,年份:2017,月份:12,服务:2,val:50}
];
常量标签1=sd.groupBy('month').keys().map(i=>months[i].abr);
控制台日志(标签1);
常量标签2=sd.map('month').uniq().map(i=>months[i].abr);
控制台日志(标签2)代码>
在识别lodash之前,我得到一个错误“\uIs not a function”。。。错误指向sd。。。然而,我应该说,我只是为了简单而抽象了我的问题,当我将您的解决方案添加到我的vue组件时,我得到了这个错误。在Stackoverflow中运行它似乎很好…在这里绝对有效。。。你不认识vue吧?不认识。最近一直在使用Angular和一些React。。。您可以提出一个关于Vue特定案例的新问题。