У меня есть массивы x, y и z. Итерируя через x, на основании условия мне нужно продолжать удаление элементов из z. Вот что я пытаюсь сделать:Splice() не делает массив пустым
var x = ["test0", "test1", "test2"];
var y = ["test0", "test1", "test2"];
var z = ["test0", "test1", "test2"];
function myFunction(){
for (var i=0; i<x.length; i++){
for (var j=0; j<y.length; j++){
if(x[i] == y[j]){
z.splice(i,1);
}
}
}
document.getElementById("demo").innerHTML = z;
}
В конце итерации z должно быть пустым. Но он всегда показывает мне элемент «test1». Поскольку правильный индекс не получает сращивание, я попытался сделать z.splice(i--,1)
, но это тоже не сработало.
Пожалуйста, сообщите, что это лучший способ решить эту проблему?
Просто обновите ваши параметры метода сращивания, как это: z.splice (0,1); он должен работать –
@AliBaig Это работает только в этом случае. Плакат пытается удалить индексы, которые совпадают в других массивах, и это не всегда будет индексом '0'. Если бы они хотели удалить все элементы, было бы проще назначить переменную новому пусту. –