我有对象的数组,像这样:过滤器的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