我希望你今天过得愉快。
这非常简单。我有一个对象数组,我想在另一个数组的帮助下过滤掉它。场景如下图所示:
var ob_array = [
{'a' : 1, 'col_2' : 'abc'},
{'a' : 2, 'col_2' : 'xyz'},
{'a' : 3, 'col_2' : 'jkl'}
];
var my_array = [1, 2];
预期输出:
var my_array = [
{'a' : 3, 'col_2' : 'jkl'}
]
尝试过的方法:
#1:
ob_array.filter(function(i){
my_array.forEach(function(q){
i['a'] == q
})
});
#2:
ob_array.filter(function(i){
for(var j in my_array){
i['a'] == j;
}
});
我主要倾向于使用过滤功能,因为我喜欢它。感谢您查看我的这个小问题。我感谢您的时间和努力。
你可以使用数组.includes https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes而不是迭代my_array
:
var ob_array = [{
'a': 1,
'col_2': 'abc'
},
{
'a': 2,
'col_2': 'xyz'
},
{
'a': 3,
'col_2': 'jkl'
}
];
var my_array = [1, 2];
console.log(ob_array.filter(ob => !my_array.includes(ob.a)))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)