я делаю тест на удаление объектов внутри массива ... так как это тест, это скорее неформальный код ..
<script type="text/javascript">
// initialize array and objects
var fruits = new Array();
var z = {
test1: "test0",
test2: "test2"
}
fruits.push(z);
var z2 = {
test1: "test1",
test2: "test2"
}
fruits.push(z2);
var z3 = {
test1: "test2",
test2: "test2"
}
fruits.push(z3);
var z4 = {
test1: "test3",
test2: "test2"
}
fruits.push(z4);
var z5 = {
test1: "test4",
test2: "test2"
}
fruits.push(z5);
// display array length
document.write("array length is " + fruits.length + "<br>");
// traverse array
for(var x = 0; x < fruits.length; x++){
// display object content in array
document.write(fruits[x].test1 + " ");
// delete object in array where variable test1 is equal to "test2"
if(fruits[x].test1 == "test2"){
fruits.splice(x, 1);
//document.write("array length is " + fruits.length + "<br>");
}
}
</script>
теперь этот код работает нормально (удаление объекта в массиве), но он удаляет один после того, который я хочу удалить (в приведенном выше коде я хочу удалить объект в индексе 2, но он удаляет объект в индексе 3)
Что-то я делаю не так в этом коде?
TIA:)