2017-06-14 82 views
0

我需要一些我可以使用的虚拟数据。我通常,手动变像创建我的数据...使用Javascript地图功能创建多个对象

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

我试图创建一个功能,让我回来的对象列表中的一个阵列(像上面的)对象数量在数组中是基于我给它的值。

我使用map功能将是最好的,像这样得出的结论:

const myMap = new Map(); 

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

}); 

我还在学习。老实说,现在确定我将如何去创造这个。如果你想随机的属性值,看看Math.random

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

+3

JavaScript对象是不一样的JSON。 [没有像“JSON对象”](http://benalman.com/news/2010/03/theres-no-such-thing-as-a-json/) –

+0

寻找“虚拟”API,以JSON的形式提供列表。例如,[JSONPlaceholder](https://jsonplaceholder.typicode.com/)。 – glhrmv

回答

3

您可以使用一个简单的循环。


下面是一个简单的例子,从提供的列表选取一个随机值:

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]}));