json javascript array question about array referance

Hi,


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....

Thanks,
Ewan
ewan69Asked:
Who is Participating?
 
moagriusConnect With a Mentor Commented:
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.
0
 
moagriusCommented:
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

0
 
ewan69Author Commented:
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.

Thanks,

Ewan
0
 
ewan69Author Commented:
Thanks for your help... :)
0
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.

All Courses

From novice to tech pro — start learning today.