我正在使用jQUery.grep来归档一个JSON对象。在下面的示例中,我根据唯一 id 过滤对象,该 id 效果很好:请参阅:https://jsfiddle.net/zzwcm9cs/18/
var arrChildOptions2 = [
{id:1, name:'john'},
{id:2, name:'mike'},
{id:3, name:'ben'},
{id:4, name:'brian'},
];
var result = jQuery.grep(arrChildOptions2, function( n, i ) {
return ( n.id === 2);
});
$( "#result" ).text( JSON.stringify(result) );
现在我想根据数组进行过滤,但我真的不知道该怎么做。下面是这个想法(当然是行不通的(。预期结果 id 的 JSON 对象仅包含"John"和"Ben":
var arrChildOptions2 = [
{id:1, name:'john'},
{id:2, name:'mike'},
{id:3, name:'ben'},
{id:4, name:'brian'},
];
var myArray = [1,3];
var result = jQuery.grep(arrChildOptions2, function( n, i ) {
return ( n.id IN myArray); <<<-- How to do it ?
});
$( "#result" ).text( JSON.stringify(result) );
我找到了答案:https://jsfiddle.net/6ma42602/
var arrChildOptions2 = [
{id:1, name:'john'},
{id:2, name:'mike'},
{id:3, name:'ben'},
{id:4, name:'brian'},
];
var myArray = [1,3];
var result = jQuery.grep(arrChildOptions2, function( n, i ) {
//return ( n.id === 2);
return myArray.indexOf(n.id) > -1;
});
$( "#result" ).text( JSON.stringify(result) );