考虑以下对象数组:
[{ id: 5, name: "Spain"},
{ id: 6, name: "Denmark"},
{ id: 7, name: "USA"},
{ id: 8, name: "Iceland"},
{ id: 9, name: "Greece"},
{ id: 10, name: "UK"},
{ id: 11, name: "Germany"},
{ id: 12, name: "Italy"}]
[{ id: 13, name: "US"},
{ id: 14, name: "GR"},
{ id: 15, name: "ESP"},
{ id: 16, name: "ICEL"},
{ id: 17, name: "DEN"},
{ id: 18, name: "UK"},
{ id: 19, name: "IT"},
{ id: 20, name: "GER"}]
我想搜索第一个数组并找到第二个数组的相应匹配项。或者甚至更好地从第二个数组中获取一个元素,并针对第一个数组中的所有值搜索它。
是否有实施此类搜索的最佳做法?
答案 0 :(得分:1)
如果您正在寻找数据结构,可以使用一个对象来引用第一个数组的对象。
只要您没有匹配id
的关系,就需要手动实现。
countries = {
ESP: { id: 5, name: "Spain"},
DEN: { id: 6, name: "Denmark"},
US: { id: 7, name: "USA"},
ICEL: { id: 8, name: "Iceland"},
GR: { id: 9, name: "Greece"},
UK: { id: 10, name: "UK"},
GER: { id: 11, name: "Germany"},
IT: { id: 12, name: "Italy"}
}
通过
访问countries.ICEL.name // Iceland
或
country = 'GR'
countries[country].name // Greece