我有一个我不太懂的练习,所以我希望能为此提供一些帮助。
我应该对一个简单的数组进行硬编码,练习告诉我:
通常,当我们创建Web应用程序时,我们需要测试数据。使用JavaScripts模块模式实现可重用的nodejs模块,该模块可以提供如下所示的随机测试数据:
var data = dataGenerator.getData(100,"fname, lname, street, city, zip");
这应该在表单上返回一个包含100个测试数据的JavaScript数组(而不是JSON):
[{fname: "Bo", lname:"Hansen", street: "Lyngbyvej 26", city: "Lyngby", zip: "2800"},..]
如果你这样称呼它:
var data = dataGenerator.getData(25,fname, lname);
它应该返回25个测试数据,如下图所示:
[{fname: "Bo", lname:"Hansen"},..]
我这里有一些代码,但这还不行:
var dataGenerator = (function () {
var data = [
{
fname : "Bo",
lname : "Bosen",
...
},
{
fname : "jashkjh",
lname : "jhsdkfj",
...
},
...
];
return {getData : function (count, fields) {
var result = [];
var i = 0;
var field;
var j;
fields = fields.split(/\s*,\s*/);
while (i < count && i < data.length) {
result.push({});
// Det objekt vi arbejder på lige nu er i result[i]
for (j = 0; j < fields.length; j++) {
result[i][fields[j]] = data[i][fields[j]];
}
i++;
}
return result;
}};
})();
module.exports = dataGenerator;
答案 0 :(得分:0)
我不知道数据正文,但可以尝试:
var data=[{fname:"Bo",lname:"Bosen",street:"Lyngbyvej 26",city:"Lyngby",zip:"2800"},{fname:"jashkjh",lname:"jhsdkfj",street:"Fmsn 9",city:"Pra",zip:"1600"},{fname:"eeee",lname:"aaaa",street:"Eda 5",city:"Pre",zip:"3500"}];
var dataGenerator = {
getData: function(count, fieldsStr){
var result = [], fields = fieldsStr.split(/\s*,\s*/), i = 0;
while(i < count && data[i]){
var item = {};
fields.forEach(function(key){
item[key] = data[i][key]
});
result.push(item);
i++
}
return result
}
}
var results = dataGenerator.getData(2,"fname, zip");
document.write(JSON.stringify(results))
&#13;