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');