I have an array called newposts
I itterate through it and if it meets certain criteria, I add it to another array:
for (newpost in newposts){
if (!( newposts[newpost][0] in currentposts )){
var triploc1 = locations[newposts[newpost][1]].location;
var triploc2 = locations[newposts[newpost][2]].location;
var detour_distance = fourpoint_distance(newloc1, triploc1, triploc2, newloc2);
if (worthwhile_detour(original_distance,detour_distance)){
currentposts.push(posts[newposts[newpost][0]])
}
}
}
The second row, is intended to check for duplicates(newposts[newpost][0]) is an ID. When I wrote it I had forgotten that currentposts was an array. Obviously, this doesn’t work. I need currentposts to be an array, because just below i sort it. I could ofcourse convert it into an array once the selection is done. But I’m new to javascript and believe someone might know a better way to do this.
function sortposts(my_posts){
my_posts.sort(function(a, b) {
var acount = a.sortvar;
var bcount = b.sortvar;
return (bcount-acount);
});
}
I’m not exactly sure what your desired goal here is, but I can try and clean this up for you. Please note that I’m using the underscore.js library as it makes working with arrays a HECK OF A LOT easier 🙂 If you can’t include underscore.js into your project, let me know and I’ll write it in “pure” javascript 🙂
I have to question, however, why you’re using so many arrays (newposts, locations, posts, etc)? Are they all needed?