【发布时间】:2017-03-17 15:42:55
【问题描述】:
我正在使用faker.js 库来生成随机数据,并且我有几个工厂函数可以生成一系列用户数据:
const createUser = () => {
return {
name: faker.name.findName(),
email: faker.internet.email(),
address: faker.address.streetAddress(),
bio: faker.lorem.sentence(),
image: faker.image.avatar(),
};
};
const createUsers = (numUsers = 5) => {
return Array(numUsers).fill(createUser());
};
let fakeUsers = createUsers(5);
console.log(fakeUsers);
这种Array.fill 方法的问题在于它返回相同数据n 的次数。我希望 5 不同的用户从我的工厂返回。
我该怎么做?
【问题讨论】:
-
填充一个虚拟值然后
.map(createUser)。 -
为什么不想使用循环?
-
没有理由 - 只是想知道用 Array.fill 做事的替代方法
-
抛开数组函子,在 JS 中循环还有很多其他方法。你甚至可以递归地完成这项工作。
-
你能发布一个使用递归的例子吗?
标签: javascript arrays factory factory-pattern faker