我有對象的數組,像這樣:過濾器的JavaScript對象數組
var companies = [
{ "name" : "Company 1",
"logo" : "/logo.gif" },
{ "name" : "Company 2",
"logo" : "/logo2.gif" },
{ "name" : "Company 3",
"logo" : "/logo3.gif" } ];
我要過濾這個數組只得到具有存在於另一個數組名稱值:
var myCompanies = [ "Company 1", "Company 3" ];
在這個例子中,要返回的數據將是:
var companies = [
{ "name" : "Company 1",
"logo" : "/logo.gif" },
{ "name" : "Company 3",
"logo" : "/logo3.gif" } ];
什麼是做到這一點的最好方法是什麼?
對於jQuery.grep()我有點想念:) – Anpher 2010-11-16 11:15:00
感謝jsperf鏈接 - 我以前沒有聽說過它,這是一個非常好的工具。我在http://jsperf.com/each-vs-grep/4的$ .map()測試用例中添加了這個(顯然這是三個答案中最慢的一個) – Dexter 2010-11-16 11:51:33