Reputation: 379
How can I generate such data using a loop in JavaScript?
data: [{
y: 'bjjjjjjj mmnmmanf j',
a: 98,
b: 48
}, {
y: 'd',
a: 50,
b: 40
}, {
y: 'e',
a: 75,
b: 65
}, {
y: 'f',
a: 50,
b: 40
}, {
y: 'g',
a: 75,
b: 65
}, {
y: 'h',
a: 100,
b: 90
}],
So far I've stored the data in the different arrays, but have no idea how can I generate the structure:
[{y:'d',a:98,b:48},{y:'d',a:50,b:40}, etc...]
Here are my arrays:
I_array = [98,50,75,50,75,100];
C_array = [48,40,46,40,65,90];
Name_array = ['b','d','e','f','g','h'];
Upvotes: 1
Views: 94
Reputation: 4061
You can try:
I_array = [98, 50, 75, 50, 75, 100];
C_array = [48, 40, 46, 40, 65, 90];
Name_array = ['b', 'd', 'e', 'f', 'g', 'h'];
var s = "";
for (i = 0; i < I_array.length; i++) {
if (i > 0) s += ",";
s += "{ \"y\":\"" + Name_array[i] + "\", \"a\":" + I_array[i] + ", \"b\": " + C_array[i] + " }";
}
var text = "{\"data\": [";
text += s;
text += "]}";
var obj = JSON.parse(text);
Upvotes: 0
Reputation: 24638
var I_array = [98,50,75,50,75,100],
C_array = [48,40,46,40,65,90],
Name_array = ['b','d','e','f','g','h'],
data = $.map( I_array, function(v, i) {
return {
y: Name_array[i],
a: v,
b: C_array[i]
};
});
console.log( data );
$('body').text( JSON.stringify( data ) );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
Upvotes: 1
Reputation: 74420
You could map it using javascript array.prototype.map
:
var I_array = [98, 50, 75, 50, 75, 100];
var C_array = [48, 40, 46, 40, 65, 90];
var Name_array = ['b', 'd', 'e', 'f', 'g', 'h'];
var newArray = Name_array.map(function (o, i) {
return {
y: o,
a: I_array[i],
b: C_array[i]
};
});
Upvotes: 3
Reputation: 2252
Try this: This is just an example. You can loop it according to your requirements.
var data = [];
for(var i = 0;i<4;i++) //your for loop starts here
{
var obj = {};
obj.y ='y';
obj.a='a';
obj.z='e';
data.push(obj);
}
Upvotes: 4