我想使用Lodash的全部功能,我不知道为什么我不能用Lodash执行此操作。
我有一个包含所有ID的38个对象的数组。我还有另一组Id。我需要将这些对象映射到对象数组,并在新的对象数组中使用它们。
我正在寻找这样的解决方案:
var workOrder.model.Lands = [{
ID: "123",
LandArea: "",
LandAreaDescription: "something",
LandAreaNo: 0,
Value: null,
Text: null,
Status: true,
GeoJsonData: null,
GeoJsonCenter: null,
Blocks: Array[3]
},...];
var landIDs = [1, 2, 3, 4];
_.each(workOrder.model.Lands, function(land){
_.each(landIDs, function(id){
console.log(id);
if(land.ID === id){
workOrder.selectedLandArea.push(land);
}
});
});
这不起作用,实际上归还了Lands集合中的所有项目。将这些物品拿出来的最佳解决方案是什么?
NO JQUERY
提前致谢
更新 添加变量以提高清晰度
答案 0 :(得分:1)
以下是相关代码(假设objs
是对象数组,ids
是id数组)
_.filter(objs, function(obj) {
return _.includes(ids, obj.ID);
});
逻辑上,您正在根据另一组中包含的成员键过滤一组。