繁体   English   中英

如何在 javascript 中使用回调函数结果填充数组?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM