Tôi đang làm việc với một loạt các hoạt Javascript Objects như vậy:Sử dụng jQuery inArray với mảng JavaScript Objects
var IssuesArray = [{"ID" : "1", "Name" : "Issue1"},
{"ID" : "2", "Name" : "Issue2"},
{"ID" : "3", "Name" : "Issue3"}];
nỗ lực cuối cùng của tôi đang cố gắng để loại bỏ một đối tượng từ mảng khi tôi biết ID của vật. Tôi đang cố gắng sử dụng mã như sau:
$.grep(IssuesArray, function(n, i) {
return i != $.inArray("2", IssuesArray);
});
Vì vậy, điều này cho thấy tôi đang cố gắng sử dụng jQuery grep để xóa phần tử theo chỉ mục (i) mà tôi đang cố truy xuất bằng cách sử dụng jQuery inArray. Tất nhiên mã ở trên sẽ không hoạt động vì "2" phải tương ứng với một mục trong mảng, tất cả đều là các đối tượng JavaScript (một đối tượng sẽ không bao giờ bằng "2"). Tôi cần một cái gì đó như:
$.inArray(javascriptObject.Name=="2", IssuesArray);
Có ai từng sử dụng inArray để lấy chỉ mục đối tượng JavaScript, sử dụng giá trị trường trong đối tượng đó không? Bất kỳ trợ giúp sẽ được đánh giá cao. Cảm ơn.
CẬP NHẬT/CLARIFICATION: Một vài người đã bị nhầm lẫn bởi câu hỏi của tôi, nhưng tôi đã nhận được câu trả lời hoạt động tốt. Tôi đang sử dụng:
IssuesArray = $.grep(IssuesArray, function(n) {
return n.ID != "2";
});
Tôi nghĩ rằng tôi đã nghĩ về nó quá sâu, khi giải pháp thực sự khá dễ dàng. Tôi chỉ muốn loại bỏ một đối tượng JavaScript khỏi một mảng, miễn là tôi biết giá trị của một thuộc tính cụ thể trong đối tượng đó. Giải pháp trên sử dụng grep của jQuery để trả về mọi thứ từ mảng ngoại trừ bất kỳ đối tượng nào có ID == "2". Như thường lệ, cảm ơn câu trả lời nhanh. Một vài câu trả lời là giải pháp tốt và có thể đã làm việc bằng cách sử dụng (sử dụng "splice", ví dụ), nhưng giải pháp này có vẻ là ngắn nhất đơn giản nhất. Cảm ơn một lần nữa.
Tôi không biết bạn đang cố gắng làm gì ... – Greg
không biết phương thức .grep nào cả (btw, tại sao nó được gọi là grep?) - tuyệt vời, đối với mảng nhỏ hơn; nó sao chép mảng, mặc dù vậy, để tập dữ liệu lớn hơn, nó có thể tốt hơn để loại bỏ các phần tử khỏi mảng ban đầu, nhưng điều đó phụ thuộc rất nhiều vào những gì bạn đang cố gắng lưu trữ :) – Patonza