Reputation: 87
var ma = "jim";
var nu = "123";
var splitit = ma.split("");
var splitit2 = nu.split("");
for (i=0; i<=splitit.length;i++) {
var bach = {splitit[i]:splitit2[i]};
}
alert(bach);
Upvotes: 0
Views: 435
Reputation: 665536
You cannot use variables for property names in object literals, they always get interpreted literally. And you probably want only one bach
object, instead of creating a new one each loop turn.
var bach = {};
for (i=0; i<=splitit.length;i++) {
bach[splitit[i]] = splitit2[i];
}
alert(JSON.stringify(bach));
Upvotes: 0
Reputation: 388436
Use
var ma = "jim";
var nu = "123";
var splitit = ma.split("");
var splitit2 = nu.split("");
var bach = {};
for (i=0; i<=splitit.length;i++) {
bach[splitit[i]] =splitit2[i];
}
Demo: Fiddle
Upvotes: 0
Reputation: 382464
You probably want
var bach = {}; // create the object
for (i=0; i<=splitit.length;i++) {
bach[splitit[i]]=splitit2[i]; // set a property according to the arrays
}
instead of
for (i=0; i<=splitit.length;i++) {
var bach = {splitit[i]:splitit2[i]};
}
Upvotes: 1