假设我有这样的东西:
window.dayNames = function () {
let names = [];
for (let i = 0; i < 7; i++) {
names.push(moment().day(i).format('dddd'));
}
return names;
}
是否可以使用js来简化它? 例如我在看lodash lib _.fill
我想知道是否存在类似的东西
_.fill(0,7, (i) => {return moment().day(i).format('dddd');});
答案 0 :(得分:1)
您可以使用Array.from
:
Array.from({length:7}, (_, i) => moment().day(i).format('dddd'))
Array.from()
具有可选参数mapFn
,该参数可让您 在数组的每个元素上执行map函数
答案 1 :(得分:1)
您可以使用lodash的_.times()
:
const dayNames = (n = 7) => _.times(n, i => moment().day(i).format('dddd'));
const result = dayNames();
console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.23.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>