Javascript map函数创建多个对象

时间:2017-06-14 13:33:31

标签: javascript

我需要一些我可以使用的虚拟数据。我通常在一个变量中手动创建数据,如...

const jsonData = [
  {
    name: 'random',
    age: '0',
  }
];

我正在尝试创建一个函数,让我返回一个包含对象列表的数组(如上所述),数组中的对象数量基于我给它的值。

我得出结论使用map函数最好,就像这样:

const myMap = new Map();

myMap.forEach((q, n) => {

});

我还在学习。老实说,现在我确定如何创建它。

1 个答案:

答案 0 :(得分:3)

您可以使用简单的循环:

function genData(n) {
  var results = [];
  for (var i = 0; i < n; i++) {
    results.push({name: 'random', age: 0});
  }
  return results;
}

如果您想随机化属性值,请查看Math.random

这是一个从提供的列表中选择随机值的简单示例:

function genData(n, values) {
  var results = [];
  for (var i = 0; i < n; i++) {
    var obj = {};
    for (var prop in values) {
      obj[prop] = values[prop][Math.floor(Math.random() * values[prop].length)];
      results.push(obj);
    }
  }
  return results;
}

console.log(genData(3, {name: ['foo', 'bar', 'baz'], age: [0, 10, 20, 30, 40]}));