Добрый день!
Есть следующая ситуация:
При загрузке страницы получаем массив данных 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. Как такое вообще может быть и как это можно избежать?