Добрый день!
Есть следующая ситуация:
При загрузке страницы получаем массив данных myData. (получаю так:
var myData = <?php echo json_encode($data, JSON_PRETTY_PRINT) ?>;
)
и есть функция:
function setFilters(oldData) {
var i = 0;
var newItems = oldData;
if (document.getElementById("isFreeFilter").checked){
for (i = (newItems.length - 1); i >= 0; i--) {
if (newItems[i].isFree != '1') {
newItems.splice(i, 1);
}
}
}
}
html:
<input id="isFreeFilter" type="checkbox" name='chb1' value="1" onChange="setFilters(myData)">
Собственно проблема заключается в удалении через splice элементов массива newItems. Как только выполняется строчка
newItems.splice(i, 1);
- нужный элемент удаляется не только из массива newItems, но и из myData. Как такое вообще может быть и как это можно избежать?