Javascript检查值是否在数组内的数组内

时间:2017-05-06 09:06:59

标签: javascript algorithm loops

我正在做我的第一个真正的后端项目之一,我有一个如下所示的位置列表: 国家(阵列) - > state(array) - > location(array) - > names(数组)

我想要做的是拿一个给定的名字,然后走回树上并获得其父位置/州/国家。

例如大苹果(名称) - >纽约(位置) - >州(纽约) - >国家(美国)

有没有人建议如何在没有多个循环的情况下做到这一点?

我以为我可以将所有位置组合并循环,找到匹配然后继续做同样的事情?

1 个答案:

答案 0 :(得分:0)

最快的方法是存储一个包含每个元素层次结构的字符串。

var hierarchy = 'Country|State|Location|Name';
var parts = hierarchy.split('|');
// parts.length will tell you what level of the hierarchy you are dealing with
var country = parts[0];
var state = parts[1];
var location = parts[2];
var name = parts[3];

根据您的需求和数据源,层次结构字符串可以由每个级别的ID /索引值组成。