Vì bạn đã có jQuery, bạn có thể sử dụng $.grep
:
Finds các yếu tố của một mảng mà đáp ứng một chức năng lọc. Mảng gốc không bị ảnh hưởng.
Vì vậy, một cái gì đó như thế này:
var matches = $.grep(ObjectsList, function(e) { return e.id == id });
mà sẽ để lại cho bạn với một loạt các mục phù hợp với từ ObjectsList
trong mảng matches
. Trên giả định rằng ObjectsList
có cấu trúc như thế này:
[
{ id: ... },
{ id: ... },
...
]
Nếu bạn biết rằng chỉ có một trận đấu hoặc nếu bạn chỉ muốn là người đầu tiên thì bạn có thể làm theo cách này:
for(var i = 0, m = null; i < ObjectsList.length; ++i) {
if(ObjectsList[i].id != wanted_id)
continue;
m = a[i];
break;
}
// m is now either null or the one you want
Có có rất nhiều biến thể về cách tiếp cận vòng lặp for
và rất nhiều người sẽ vẫy tay với tôi vì họ nghĩ rằng continue
là một từ xấu; nếu bạn không thích continue
thì bạn có thể thực hiện theo cách này:
for(var i = 0, m = null; i < ObjectsList.length; ++i) {
if(ObjectsList[i].id == wanted_id) {
m = ObjectsList[i];
break;
}
}
Nguồn
2011-11-29 05:53:24
Bạn cần hiển thị dữ liệu JSON thực tế mà bạn đang cố gắng chọn để chúng tôi có thể tư vấn cách truy cập . – jfriend00