[英]How can I fill an array with a callback func result in javascript?
假设我有这样的事情:
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');});
您可以使用Array.from
:
Array.from({length:7}, (_, i) => moment().day(i).format('dddd'))
Array.from()
有一个可选参数mapFn
,它允许你对数组的每个元素执行一个映射函数
您可以使用 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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.