I’ve got two arrays which are updating themselves and each other based on criteria (it is way longer to describe than I suspect the solution is).
What I end up with is a function which calls itself within a while loop. As you can imagine, this causes a ridiculous amount of recursion.
Here’s an example (keeping it short)
var buildArray=firstFunction(new Array(), existingArray)
function firstFunction(thisArray, existingArray){
for(test1=0; test1<existingArray.length; test1++){
if(existingArray[test1][3]=='2'){
secondFunction(thisArray, existingArray, test1);
}
}
function secondFunction(thisArray, existingArray, t1){
for(test2=0; test2<thisArray.length; test2++){
if(thisArray[test1]<=existingArray[test2][1] || thisArray[test1]>existingArray[test2[0]){
// do a bunch of stuff to existingArray, now that existingArray has changed, the whole process needs to start again FROM THE BEGINNING!!!
return firstFunction(new Array(), existingArray);
// check that the value isn't already in the 'thisArray'
var check= new Array(existingArray[test1]);
else if (jQuery.inArray(check, thisArray==-1){
// value isn't in the new array, so add it
thisArray.push(check);
// thisArray has changed. need to restart the the second function
secondFunction(thisArray,existingArray);
}
}
}
}
}
I was hoping that
return secondFunction(thisArray, existingArray);
would reset and restart the function, but apparently that isn’t happening.
Is there a way to stop the current function and loops and restart with the updated variables?
i do not get what you are trying yo do, however based on the fact that return stop the execution in the secondFunction, and thisArray is never changed,
you can add a loop to the firstFunction:
and in the secondFunction instead of returning the array return true: