有没有一种方法可以通过特定的值过滤对象数组,可以在任何属性?基于值过滤对象数组
比方说,我有这样的对象:
var x = [
{
name: "one",
swp: "two"
},
{
name: "two",
swp: "three"
},
{
name: "aa",
swp: "bb"
}
];
随着Array.prototype.filter
我可能会做
x.filter(function(y){ return y.name == "two"; });
但是这只能一个返回的是,有两个对象的“两化”作为一个值他们的任何属性。
而
function findValue(value) {
var y = [];
for (obj in x) {
for (val in x[obj]) {
if (x[obj][val].match(value)) {
y.push(x[obj]);
}
}
}
return y;
}
做工作,但它是一个强力方法。 有没有更好的方法来实现相同的结果?
@nnnnnn良好的感谢。 –
也许包括一个ES5版本,以匹配OP的代码。 – 1983