json javascript array question about  array referance

Posted on 2009-05-18
Medium Priority
Last Modified: 2013-11-08

I am using JSON and eval to get an array of objects, like this:
{"location":[ {"loc_id":  "76",
                                    "description": "test",
                                    "company": "testrco",
then eval in javascript so var loc = eval........

The loc_id is a unique no., can i use this as the array no? I want to add to the array and change some of the values "description" for example would be god if i could reference it like
loc.location.loc[76].description instead of loc.location[2].description where the 2 doesn't relate to anything.

Hope I am making sense....

Question by:ewan69
  • 2
  • 2
LVL 19

Expert Comment

ID: 24412939
natively, no - 76 is a value, not a key.  however, you could write a simple loop to create an array for reference and assign key by loc_id
var list = [];
for(var i=0;i<loc.location.length;i++){
var ref = loc.location[i];
var id = ref.loc_id;
list[id] = ref;

Open in new window


Author Comment

ID: 24413183
Hi moagrius,

Thanks for the quick reply, sorry for not using the right terminoligy, still learing....

I will try your code in a minute thanks, is there a better way of doing things?

I want to be able to periodically update the array elements from a database so i was thinking if the PRIMARY KEY value was used as the array key, using eval i could easily replace the old element with the new.

Is there a better way of doing it?? maybe loop through the array and see if loc.location[i].loc_id == the loc_id of the update, if it does then replace that element with the new one.

not sure if element is the right word, i mean one of the whole objects in the array.


LVL 19

Accepted Solution

moagrius earned 2000 total points
ID: 24413476
Looping through the array and checking the loc_id is a good approach too - either way works really.  Just a note, in the above example code I gave before, you'd then look up the element using list[76] - "list" would contain the order copy of the location array.

Author Closing Comment

ID: 31582630
Thanks for your help... :)

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Introduction A frequently asked question goes something like this:  "I am running a long process in the background and I want to alert my client when the process finishes.  How can I send a message to the browser?"  Unfortunately, the short answer…
A while back, I ran into a situation where I was trying to use the calculated columns feature in SharePoint 2013 to do some simple math using values in two lists. Between certain data types not being accessible, and also with trying to make a one to…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

624 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question