Pars
Pars

Reputation: 5262

define an object in javascript

I am new to javascript.
I want to have an object with this structure.

Users = {
    User1 : {
        "name" : "name",
        "id"   : "123"
    }
    User2 : {
        "name" : "name",
        "id"   : "123"
    }
}

so I should define Users like this:

 var Users = {};

How can I add new User to Users? and How can I read and write from users inside Users object like this:

 // reading
 User1_name = Users.User1.name;

 // writing
 Users.User1.name = "new name";

Upvotes: 0

Views: 71

Answers (2)

Philipp Gayret
Philipp Gayret

Reputation: 5070

You can define users like this, you are just missing a comma

Users = {
    User1 : {
        "name" : "name",
        "id"   : "123"
    } <--
    User2 : {
        "name" : "name",
        "id"   : "123"
    }
}

Should be ( with var added for clarity )

var Users = {
    User1 : {
        "name" : "name",
        "id"   : "123"
    },
    User2 : {
        "name" : "name",
        "id"   : "123"
    }
}

Reading and writing can be done the way you described.

To add a new user, you could do something like this

Users["User3"] = {
    "name" : "name3",
    "id"   : "1234"
}

Upvotes: 2

CD..
CD..

Reputation: 74146

Your code is fine (except the missing comma @Philipp pointed), but you can use an array too:

var users = [
    {
        "name" : "name",
        "id"   : "123"
    },
    {
        "name" : "name",
        "id"   : "123"
    }
];

var userName = users[0].name;

users[0].name = "new name";

Upvotes: 3

Related Questions