Trước hết, mã được trích dẫn của bạn không phải là JSON. Mã của bạn là ký hiệu theo nghĩa đen của đối tượng JavaScript. JSON là một tập hợp con được thiết kế để phân tích cú pháp dễ dàng hơn.
Mã của bạn định nghĩa một đối tượng ( data
) có chứa một mảng ( items
) của đối tượng (mỗi với một id
, name
và type
).
Bạn không cần hoặc muốn jQuery cho việc này, chỉ cần JavaScript.
Thêm một mục:
data.items.push(
{id: "7", name: "Douglas Adams", type: "comedy"}
);
Điều đó thêm vào phần cuối. Xem bên dưới để thêm vào giữa.
Xóa một mục:
Có một số cách. Các splice
phương pháp là linh hoạt nhất:
data.items.splice(1, 3);
splice
sửa đổi mảng ban đầu và trả về một mảng các mục bạn đã xóa.
Thêm vào giữa:
splice
thực sự có cả việc thêm và bớt. Chữ ký của splice
phương thức là:
removed_items = arrayObject.splice(index, num_to_remove[, add1[, add2[, ...]]]);
index
- chỉ mục bắt đầu thực hiện thay đổi
num_to_remove
- bắt đầu với chỉ mục đó, xóa nhiều mục nhập này
addN
- ... và sau đó chèn các phần tử này
Vì vậy, tôi có thể thêm một mục ở vị trí thứ 3 như sau:
data.items.splice(2, 0,
{id: "7", name: "Douglas Adams", type: "comedy"}
);
Điều đó có nghĩa là: Bắt đầu từ chỉ mục 2, loại bỏ không mục nào, rồi chèn mục sau đây. Kết quả trông như thế này:
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"}
]};
Bạn có thể xóa một số và thêm một số cùng một lúc:
data.items.splice(1, 3,
{id: "7", name: "Douglas Adams", type: "comedy"},
{id: "8", name: "Dick Francis", type: "mystery"}
);
... có nghĩa là: Bắt đầu từ chỉ mục 1, loại bỏ ba mục nhập, sau đó thêm hai mục nhập này. Kết quả là:
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"}
]};