【发布时间】:2023-03-28 05:10:01
【问题描述】:
我是 Angular 2 打字稿的新手,但我遇到了一种情况。 我有一个这种格式的 json 数组
needle json
[{"empId":100,"orgId":500}
{"empId":201,"orgId":566}]
上面的 json 有一个特定的顺序,我们需要保持这个顺序,同时在另一个 json 数组(Haystack)中寻找它们
Haystack json array
[
{"empCode":21,"fname":"Ashish","Lname":"Shukla"},
{"empCode":22,"fname":"John","Lname":"Mark"},
{"empCode":21,"fname":"Vigil","Lname":"Rocker"},
{"empCode":201,"fname":"Rick","Lname":"Mandez"},
{"empCode":21,"fname":"Erik","Lname":"Francis"},
{"empCode":100,"fname":"Alex","Lname":"Mishra"},
{"empCode":21,"fname":"Feeder","Lname":"Kapoor"},
{"empCode":21,"fname":"Dan","Lname":"Rox"},
{"empCode":21,"fname":"Herb","Lname":"Deen"},
{"empCode":21,"fname":"Nate","Lname":"Diaz"},
{"empCode":21,"fname":"Nick","Lname":"Diaz"},
{"empCode":21,"fname":"Conor","Lname":"Pussy"}
]
现在我需要从 haystack 数组中获取那些 id 与 needle 匹配的值,保持针的顺序
{"empCode":100,"fname":"Alex","Lname":"Mishra"},
{"empCode":201,"fname":"Rick","Lname":"Mandez"}
我已经解决了这个问题,但我想我的解决方案不是最优的,因为我使用了很多循环。有人可以建议我一个好的解决方案吗?
请注意:应在结果 json 中维护员工 ID 的顺序,与针头 json 一样。
非常感谢:)
【问题讨论】:
-
添加您当前的解决方案
-
是的,我有一个解决方案,但这不是最佳的。我创建了一个保持 ids 的针数组。现在我迭代 haystack 数组并做一个索引,看看它是否存在于新数组中。为了保持订单有效,我将值作为 Id,行数放在地图中。我知道这不是最佳解决方案,因此发布了它。
-
我不是问你它是否最优,只是添加它!
-
所以?您的解决方案在哪里?
标签: json typescript filtering