У меня проблемы с JSON и массивами. Я некоторое время возился с JSON и пытаюсь использовать некоторые из них, производя рефакторинг старой реализации. У меня было два скрытых текстовых поля, одно хранилище идентификаторов в формате [1] [2] [3] и т. Д., А другое имя [name1] [name2] [name3], поэтому я подумал, что это будет отличным упражнением, чтобы узнать больше о JSON и рефакторинг, и использовать более удобочитаемую запись объекта.
Во всяком случае, я отвлекся. У меня странная проблема, я узнал, как «вставить» JSON в массив, но проблема заключается в моем методе удаления. Когда я удаляю объект из массива, запятые сохраняются, создавая «неопределенные» объекты. Я делаю это неправильно, и есть ли лучший способ?
Добавлено 2 элемента в массив (все в порядке)
[{id:"1", name:"Test (ID: 1)", status:"new"}, {id:"2", name:"Test 2 (ID: 2)", status:"new"}]
Удален 1 элемент из массива (оставлены запятые)
[{id:"1", name:"Test (ID: 1)", status:"new"}, ,]
Добавлен еще один элемент обратно в массив, запятые теперь вызывают "неопределенные" объекты
[{id:"1", name:"Test (ID: 1)", status:"new"}, , {id:"2", name:"Test 2 (ID: 2)", status:"new"}]
Вот моя функция удаления
function removeFromList(Id) {
var txtIDs = $("#<%= selected.ClientID %>");
var data = eval(txtIDs.val());
for (var i = 0; i < data.length; i++) {
alert(typeof (data[i]));
if (typeof(data[i]) != 'undefined') {
if (data[i].id == Id)
delete data[i]; // alert(data[i].name); //
}
}
}
Спасибо за просмотр этого для меня:)
Rob