【发布时间】:2016-06-14 20:32:26
【问题描述】:
我想充分利用 Lodash 的功能,但我不明白为什么我不能用 Lodash 执行此操作。
我有一个包含 38 个对象的数组,它们都有 ID。我还有另一个 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 收藏中的所有物品归还给我。取出这些物体的最佳解决方案是什么?
没有查询
提前致谢
更新 添加变量以更清晰
【问题讨论】:
-
@PatrickRoberts 我已经更新了这个
-
@Keeano 你的例子仍然没有多大意义。
landIDs都不等于第一个对象中的 ID,它们甚至不是同一类型。您是否尝试根据landIDs的顺序重新排序数组? -
你想用你的
landIDs中包含的id过滤你的对象数组吗?
标签: javascript arrays angularjs object lodash