Hi, been a user for a month first time asking for help so bear with me, please.
I have made a loop to filter parts of the argument but I have a problem that I can’t solve. In short, I don’t know how to return the filtered part of my code so it loops again and filters THE ALLREADY FILTERED CODE with the next argument in line. I know I can create a new variable and filter the filtered code but that really doesn’t solve anything since there can be x amount of arguments which i don’t know. There might be other ways to solve the problem (but I would really like to know how to continue looping the filtered variable) at hand and I hope someone can help.
Tnx in advance,
Cheers.
function destroyer(arr) {
for (let j =1;j<arguments.length;j++){
let a = arr.filter(value => !(value==niz[j]))
}
}
console.log(destroyer([1, 2, 3, 1, 2, 3], 2, 3));
//
**Your browser information:**
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36.
what you need to do is update the value of a variable at each iteration, storing the output of filter and using that value in the next iteration
how?
try to think how you were doing for example summing all numbers in an array with a loop, you need to do something similar with this more complex use case
Yea I have scoured the internet and my notes for the last 3 days, went thru thousands of tutorials because I have been stuck on this problem and I still can’t find what I’m looking for, maybe the problem cant be solved the way I want it. @manjupillai16 I’m sorry but I don’t know what you mean by that. @ILM I understand what you want me to do (simply similar to adding sum += i in a for loop) but I just don’t know how to do it. Tnx for your help anyway guess ill tackle the task from a different angle cheers.
Hey zgodni,
can understand, these methods can initially be very confusing. Will try to elaborate on my suggestion.
/* a is the filtered array without the elements present in arguments[1] and arguments[2] in the given example: */
let a = arr.filter (value => {
for (let j =1;j<arguments.length;j++){
//if value is equal to arguments at position j
return false;
}
}
return true;
});
//finally return output array a;
}
Hi, the easiest way is to do as @ILM says, declare the array variable outside of your for loop, and update its values inside the for loop.
Pseudocode would look something like:
function {
a=copy of array to be filtered
for every other element in the arguments {
a=a.filter(filter condition)
}
}