首页 > 解决方案 > JS - 在没有 for 或 while 循环的情况下重复操作 N 次?

问题描述

例如,我想创建一些调试数据数组,并且我需要一个函数,该函数将只采用所需数组的长度并返回具有少量道具和随机数据值的对象数组。

有没有办法在没有 for 循环的情况下制作这个函数?问题的原因是我有这个i我并不真正需要的变量。

const generateData = (count) => {
  let data = []
  for (let i = 0; i < count; i++)  
    data.push({
      foo: Math.round(Math.random() * 100),
      bar: Math.random() > 0.5
    })
  return data  

}

标签: javascriptloops

解决方案


如果需要,您可以一次创建数组Array.from,无需声明或使用任何中间变量名称:

const generateData = length => (
  Array.from(
    { length },
    () => ({
      foo: Math.round(Math.random() * 100),
      bar: Math.random() > 0.5
    })
  )
);
console.log(generateData(5));


推荐阅读