I want to delete every second and third element from an array in Javascript.
My array looks like this:
var fruits = ["Banana", "yellow", "23", "Orange", "orange", "12", "Apple", "green", "10"];
Now I want to delete every second and third element. The result would look like this:
["Banana", "Orange", "Apple"]
I tried to use a for-loop and splice:
for (var i = 0; fruits.length; i = i+3) {
fruits.splice(i+1,0);
fruits.splice(i+2,0);
};
Of course this returns an empty array because the elements are removed while the loop is still executed.
How can I do this correctly?
You could approach this from a different angle and
push()the value you don’t want deleted into another Array:This approach may not be as terse as using
splice(), but I think you see gain in terms of readability.