【发布时间】:2014-07-10 14:30:24
【问题描述】:
假设我们有两个这样的数组:
var array1 = [
{"name":"foo", "age": 13},
{"name":"bar", "age": 15},
{"name":"foobar", "age": 9},
{"name":"i", "age": 60},
{"name":"want", "age": 41},
{"name":"to", "age": 31},
{"name":"extract", "age": 2},
{"name":"all", "age": 34},
{"name":"these", "age": 54}
];
var array2 = [
{"name":"foo", "age": 13},
{"name":"bar", "age": 15},
{"name":"foobar", "age": 9}
];
我想从array1 中提取我在array2 中not 的所有对象,使用键name 作为参考。所以在治疗结束时,我想要数组:
var expectedResults = [
{"name":"i", "age": 60},
{"name":"want", "age": 41},
{"name":"to", "age": 31},
{"name":"extract", "age": 2},
{"name":"all", "age": 34},
{"name":"these", "age": 54}
}
有什么想法吗?我在 JS 中找不到似乎允许这种过滤器的方法。
【问题讨论】:
-
只需循环遍历初始数组,并保留您需要的数组。
-
我希望有更优雅的解决方案=/
-
" 我在 JS 中找不到似乎允许这种过滤器的方法。" 你知道...有时你实际上需要编写一些代码。
-
@kl94:这是最简单的方法。我建议你不要尝试做过早的优化,先让它工作。从你的问题中我得到的印象是你甚至还没有设法让它工作。
-
@cookiemonster 同意,但在其他一些语言中。你可以轻松做到
标签: javascript arrays filter