Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
428 views
in Technique[技术] by (71.8m points)

json - 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?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...