我正在上Udemy课程,这是我正在做的练习的代码。 Faker是从NPM库下载的软件包
var faker = require("faker");
console.log("+++++++++++++++++++");
console.log("Welcome to my shop!");
console.log("+++++++++++++++++++");
var data = faker.commerce.productName();
data.forEach(function(print){
console.log(data);
});
我期望代码遍历变量“ data”中的每个项目并打印结果,但这是我得到的结果
+++++++++++++++++++
Welcome to my shop!
+++++++++++++++++++
/home/ubuntu/workspace/node_practice/demo_app/app.js:8
data.forEach(function(print){
^
TypeError: data.forEach is not a function
at Object.<anonymous> (/home/ubuntu/workspace/node_practice/demo_app/app.js:8:6)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:389:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:504:3
我正在使用Cloud9 ide,为什么会出现此错误?
答案 0 :(得分:1)
您应该阅读伪造者文档。
https://cdn.rawgit.com/Marak/faker.js/master/examples/browser/index.html#commerce
faker.commerce.productName()
是一个字符串。那些没有prototype.forEach()
如果要生成一组名称,可以将Array.from()
与faker
一起使用,如下所示:
let products = Array
.from({length: 100})
.map(faker.commerce.productName)
您现在拥有一个包含100个产品名称的数组