2017-05-06 15 views
-1

私の最初の実際のバックエンドプロジェクトの1つを実行していて、次のような場所のリストがあります。 国(配列)→状態(配列) (配列) - >名前(配列)値が配列内の配列内にあるかどうかのチェック

私がしたいことは、与えられた名前を取ってから、木の上を歩いて親の場所/州/国を取得することです。

例えばビッグアップル(名前) - >ニューヨーク(場所) - >状態(ニューヨーク) - >国(米国)

誰もが複数のループせずにこれを行う方法上の任意のアドバイスはありますか?

私はすべての場所とループスルーを組み合わせて、マッチを見つけて同じことを続けていると思っていましたか?

+1

実際に必要なものが表示されるように、データ配列を投稿してください。 –

+0

名前はデータセット全体で一意ですか? – trincot

+2

これは 'locations = [{usa:[{ny:[nyc:[{name: 'bigApple'}]}}}]'ですか?オブジェクトの配列を含むオブジェクトの配列...など? – Purag

答えて

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 /インデックス値で構成できます。

関連する問題