Reginwaldt Led
Reginwaldt Led

Reputation: 379

Building a data array in JavaScript or jQuery

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

Answers (4)

enb081
enb081

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

jsfiddle

Upvotes: 0

PeterKA
PeterKA

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

A. Wolff
A. Wolff

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

-jsFiddle-

Upvotes: 3

Rohit Arora
Rohit Arora

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

Related Questions