Nick Law
Nick Law

Reputation: 1748

Creating javascript object from array values

I am attempting to create a javascript object so that I can tranfsorm it into a json string in order to update a mysql table via php. I'm new to objects and json in javascript and so I have followed a couple of tutorials on the web but still can't seem to be getting this to work:

var idArray =      [ 1, 2, 3];
var slideNo =      [ 1, 2, 3];
var isPublished =  [ 0, 1, 0];
var floaText =     [ 1, 0 , 1];

var myObject = [];

for(var i = 0; i < idArray.length; i++) {
    myObject[i] = {
        slideId : idArray[i],
        slideNo : slideNo [i],
        isPublished : isPublished [i],
        floatText : floaText [i]
    };
}

alert(myObject[0].slideId);

I can't seem to get the above code work. I also tried to add quoation makrs like this:

myObject[i] = {
    slideId : "\"" + idArray[i] + "\"",
    slideNo : "\"" + slideNo[i] + "\"",
    isPublish : "\"" + isPublished[i] + "\"",
    floatText : "\"" + floaText[i]
};

But that doesn't seem to work either. What am I doing wrong?

Upvotes: 0

Views: 81

Answers (2)

Eric Chen
Eric Chen

Reputation: 3708

use JSON.stringify to convert object to json string

alert(JSON.stringify(myObject[i]));

Upvotes: 0

Oran Dennison
Oran Dennison

Reputation: 3297

Looks like your recent edit fixed one of the issues: you need [] around your arrays, not {}.

Next, you need to change your array variable names to match what you're using in your for loop.

Finally, myObject should probably be an array, not an object, so change its {} to [].

Here's an updated version of your code:

var idArray =         [ 1, 2, 3];
var slideArray =      [ 1, 2, 3];
var publishArray =    [ 0, 1, 0];
var floatArray =      [ 1, 0 , 1];

var myObject = [];

for(var i = 0; i < idArray.length; i++) {
    myObject[i] = {
        slideId : idArray[i],
        slideNo : slideArray[i],
        isPublished : publishArray[i],
        floatText : floatArray[i]
    };
}

alert(myObject[0].slideId);

Upvotes: 2

Related Questions