Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

json javascript array question about  array referance

Posted on 2009-05-18
4
Medium Priority
?
287 Views
Last Modified: 2013-11-08
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
0
Comment
Question by:ewan69
  • 2
  • 2
4 Comments
 
LVL 19

Expert Comment

by:moagrius
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

0
 

Author Comment

by:ewan69
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.

Thanks,

Ewan
0
 
LVL 19

Accepted Solution

by:
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.
0
 

Author Closing Comment

by:ewan69
ID: 31582630
Thanks for your help... :)
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
Originally, this post was published on Monitis Blog, you can check it here . In business circles, we sometimes hear that today is the “age of the customer.” And so it is. Thanks to the enormous advances over the past few years in consumer techno…
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…
Suggested Courses

926 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