例如,
var array = [
{
a: 1
},
{
a: 1
},
{
a: 2
},
{
a: 3
},
]
先找数组中a = 1的,如果没有再找a = 2 的,还没有就找a = 3的。现在能想到的就是简单的筛选,一直使用if else来判断
var match = array.filter(item => item.a = 1);
if (match.length == 0) {
match = array.filter(item => item.a = 2);
...
}
如果条件多了,这样写什么时候是个头,请问各位,有没有什么简易的写法,感激不尽
写个函数传入值就行,代码如下,有帮助麻烦点个采纳【本回答右上角】,谢谢~~有其他问题可以继续交流~
var array = [
{
a: 1
},
{
a: 1
},
{
a: 2
},
{
a: 3
},
]
function filter(values) {
for (let v of values) {
var match = array.filter(item => item.a ==v);
if (match.length > 0) return match;
}
return null;
}
var item = filter([5, 2, 1]);
alert(JSON.stringify(item))//[{"a":2}]
item = filter([5, 6,7]);
alert(JSON.stringify(item))//null