Öncelikle, alıntılanan kodunuz JSON değil . Kodunuz, JavaScript nesnesi değişmez gösterimidir. JSON , daha kolay ayrıştırma için tasarlanmış bir alt kümedir.
İşletme Kod, nesnenin (tanımlayan data
bir dizi (ihtiva eden) items
nesnelerin) (bir, her biri id
, name
ve type
).
Bunun için jQuery'ye ihtiyacınız yok veya istemiyorsunuz, sadece JavaScript.
Bir öğe eklemek:
data.items.push(
{id: "7", name: "Douglas Adams", type: "comedy"}
);
Bu sona ekler. Ortaya eklemek için aşağıya bakın.
Bir öğeyi kaldırmak:
Birkaç yol var. splice
Yöntem en çok yönlüdür:
data.items.splice(1, 3);
splice
orijinal diziyi değiştirir ve kaldırdığınız öğelerin bir dizisini döndürür.
Ortaya ekleyerek:
splice
aslında hem ekleme hem de kaldırma işlemi yapar. splice
Yöntemin imzası :
removed_items = arrayObject.splice(index, num_to_remove[, add1[, add2[, ...]]]);
index
- değişiklik yapmaya başlayacağınız dizin
num_to_remove
- bu dizinden başlayarak, bu kadar çok girişi kaldırın
addN
- ... ve sonra bu öğeleri ekleyin
Böylece 3. pozisyona şöyle bir öğe ekleyebilirim:
data.items.splice(2, 0,
{id: "7", name: "Douglas Adams", type: "comedy"}
);
Bunun anlamı şudur: Dizin 2'den başlayarak, sıfır öğeleri kaldırın ve ardından aşağıdaki öğeyi ekleyin. Sonuç şuna benzer:
var data = {items: [
{id: "1", name: "Snatch", type: "crime"},
{id: "2", name: "Witches of Eastwick", type: "comedy"},
{id: "7", name: "Douglas Adams", type: "comedy"},
{id: "3", name: "X-Men", type: "action"},
{id: "4", name: "Ordinary People", type: "drama"},
{id: "5", name: "Billy Elliot", type: "drama"},
{id: "6", name: "Toy Story", type: "children"}
]};
Bazılarını kaldırıp aynı anda ekleyebilirsiniz:
data.items.splice(1, 3,
{id: "7", name: "Douglas Adams", type: "comedy"},
{id: "8", name: "Dick Francis", type: "mystery"}
);
... bunun anlamı: Dizin 1'den başlayarak, üç girişi kaldırın ve ardından bu iki girişi ekleyin. Hangi sonuç:
var data = {items: [
{id: "1", name: "Snatch", type: "crime"},
{id: "7", name: "Douglas Adams", type: "comedy"},
{id: "8", name: "Dick Francis", type: "mystery"},
{id: "4", name: "Ordinary People", type: "drama"},
{id: "5", name: "Billy Elliot", type: "drama"},
{id: "6", name: "Toy Story", type: "children"}
]};