Javascript 从array1中删除object.prop位于array2中的对象

Javascript 从array1中删除object.prop位于array2中的对象,javascript,ecmascript-6,lodash,Javascript,Ecmascript 6,Lodash,例如: 我想遍历array1并删除object.age位于array2中的所有对象。我可以随意使用,但他们的文档让我感到困惑…您可以使用并获得所需的结果。筛选第一个数组,检查第二个数组是否包含当前项目的年龄,并反转结果 常量数组1=[ {id:1,姓名:'Bob',年龄:29}, {id:2,姓名:'Anne',年龄:18}, {id:3,姓名:'Dave',年龄:29}, {id:4,姓名:'Barry',年龄:50}, {id:5,姓名:'Jill',年龄:35}, ]; 常量数组2=[2

例如:

我想遍历
array1
并删除
object.age
位于
array2
中的所有对象。我可以随意使用,但他们的文档让我感到困惑…

您可以使用并获得所需的结果。筛选第一个数组,检查第二个数组是否包含当前项目的年龄,并反转结果

常量数组1=[
{id:1,姓名:'Bob',年龄:29},
{id:2,姓名:'Anne',年龄:18},
{id:3,姓名:'Dave',年龄:29},
{id:4,姓名:'Barry',年龄:50},
{id:5,姓名:'Jill',年龄:35},
];
常量数组2=[29,50];
常量映射=array1.filter(item=>!array2.includes(item.age));

console.log(映射)使用array.prototype.filter:

var数组1=[
{id:1,姓名:'Bob',年龄:29},
{id:2,姓名:'Anne',年龄:18},
{id:3,姓名:'Dave',年龄:29},
{id:4,姓名:'Barry',年龄:50},
{id:5,姓名:'Jill',年龄:35},
];
var array2=[29,50];
var array1=array1.filter(e=>!array2.includes(e.age));

控制台日志(array1)如果您同意对数组进行变异(就地修改)

如果需要新阵列,请执行以下操作:

_.pullAllBy(array1, [{ age: 29 }, { age: 50 }], 'age');
_.pullAllBy(array1, [{ age: 29 }, { age: 50 }], 'age');
const newArray = _.differenceBy(array1, [{ age: 29 }, { age: 50 }], 'age');