2012-03-30 47 views

Trả lời

6

Vì tôi muốn thêm đối tượng ở giữa mảng, tôi đã kết thúc với giải pháp này:

var add_object = {"0": "e5"}; 
event_id.splice(n, 0, add_object); // n is declared and is the index where to add the object 
+0

điều gì về việc xóa một đối tượng có giá trị = 'e5'? –

1
event_id.push({"something", "else"}); 

Hãy thử sử dụng .push(...)^

9

Nếu bạn chỉ muốn thêm một giá trị đến hết một mảng thì push(newObj) chức năng là đơn giản nhất, mặc dù splice(...) cũng sẽ làm việc (chỉ là một chút phức tạp hơn).

var event_id = [{"0":"e1"}, {"0":"e2"}, {"0":"e4"}]; 
event_id.push({"0":"e5"}); 
//event_id.splice(event_id.length, 0, {"0":"e5"}); // Same as above. 
//event_id[event_id.length] = {"0":"e5"}; // Also the same. 
event_id; // => [{"0":"e1"}, {"0":"e2"}, {"0":"e4"}, {"0":"e5"}]; 

Xem tuyệt vời MDN documentation for the Array object cho một tài liệu tham khảo tốt trong những phương pháp và tài sản có sẵn trên mảng.

[Chỉnh sửa] Để chèn một cái gì đó vào giữa của mảng sau đó bạn chắc chắn sẽ muốn sử dụng phương pháp splice(index, numToDelete, el1, el2, ..., eln) mà xử lý cả xóa và chèn các yếu tố tùy ý tại bất kỳ vị trí:

var a = ['a', 'b', 'e']; 
a.splice(2, // At index 2 (where the 'e' is), 
      0, // delete zero elements, 
     'c', // and insert the element 'c', 
     'd'); // and the element 'd'. 
a; // => ['a', 'b', 'c', 'd', 'e'] 
+0

Tôi muốn thêm đối tượng vào giữa mảng. – user823527

+0

@ user823527: xem câu trả lời cập nhật của tôi. – maerics

0

Vâng, bạn thường có thể sử dụng:

event_id[event_id.length] = {"0":"e5"}; 

hoặc (hơi chậm)

0.123.
event_id.push({"0":"e5"}); 

mặc dù nếu bạn muốn chèn phần tử vào giữa một mảng và không phải lúc nào cũng ở cuối, thì chúng tôi sẽ phải tìm ra thứ gì đó sáng tạo hơn một chút.

Hy vọng nó giúp,

ISE

Các vấn đề liên quan