The first argument of splice
is an index in the array, the second is the amount of items to remove from there.
So stay like this:
var itens = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
var indice = 2; // lembre que começa em zero, então esta é a posição do "c"
var quantidade = 3;
var removidos = itens.splice(indice, quantidade);
console.log(itens); // ["a", "b", "f", "g"]
console.log(removidos); // ["c", "d", "e"]
If you do not know the position of the items, you can remove items using the method filter
:
var itens = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
var resultado = itens.filter(function(item) {
return item !== 'c' && item !== 'e';
});
console.log(resultado); // ["a", "b", "d", "f", "g"]
or so to make it easier:
var itens = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
var remover = ['f', 'c'];
var resultado = itens.filter(function(item) {
return !~remover.indexOf(item);
});
console.log(resultado); // ["a", "b", "d", "e", "g"]
if you want to do a function to use other times:
function remover(array, rem) {
return array.filter(function(item) {
return !~rem.indexOf(item);
});
}
var original = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
var resultado1 = remover(original, ['f', 'c']);
var resultado2 = remover(original, ['a', 'e', 'g']);
console.log(resultado1); // ["a", "b", "d", "e", "g"]
console.log(resultado2); // ["b", "c", "d", "f"]
Have you tried
teste.splice(1, 2)
, without running the others you already have? The second splice parameter is the amount to be removed. More on MDN– Oeslei