0

私は JavaScript が初めてで、データを保存する最善の方法がわかりません。私が取得したいものについての例を書きます:

Country1
     Country informations
     Region1
            Region informations
            Place1
                 Place informations
            Place2
                 Place informations
     Region2
            Region informations
            Place1
                 Place informations
            Place2
                 Place informations
Country2
     Country informations
     Region1
            Region informations
            Place1
                 Place informations
            Place2
                 Place informations
     Region2
            Region informations
            Place1
                 Place informations
            Place2
                 Place informations
...

「情報」を x、y、name、ecc などのさまざまな値と考えてください。1-1-2-x のような簡単な方法でこれらのプロパティにアクセスできるようにしたいと考えています。

私の頭に浮かんだ最良の解決策は、「場所情報」を保存するために4次元配列を使用し、「地域情報」を保存するために3次元配列を使用し、「国情報」を保存するためにマトリックスを使用することでした。

これが最善の解決策だと思いますか? 私の説明が理解できることを願っています、ありがとう。

4

3 に答える 3

2

JSONはあなたが求めているものだと思います。

例:

var data = {
    countries : [
       {
           name: 'country1',
           regions: [
               {
                   name: 'region1',
                   places: [
                       {
                           name: 'place1'
                       }
                   ]
               }
           ]
       }
    ]
};

ここには国の配列があります。各国は、地域の配列を持つことができます。各地域、場所の配列。

これをインデックスで消費できます。

var place = data.contries[0].regions[0].places[0].name;

または、名前でアクセスするカスタム メソッドを作成することもできます。

var data = {
    getCountry : function(name) {
        var len = this.countries.length;
        for (var i = 0; i < len; i++) {
            if (name === this.countries[i].name)
                return this.countries[i];
        }
        return null;
    },
    countries : [
       {
           getRegion : function(name) {
               var len = this.regions.length;
               for (var i = 0; i < len; i++) {
                   if (name === this.regions[i].name)
                       return this.regions[i];
               }
               return null;
           },
           name: 'country1',
           regions: [
               {
                   name: 'region1',
                   places: [
                       {
                           name: 'place1'
                       }
                   ]
               }
           ]
       }
    ]
};

使用法:

var region = data.getCountry('county1').getRegion('region1');

詳細データの例:

var data = {
    countries : [
       {
           name: 'country1',
           regions: [
               {
                   name: 'region1',
                   places: [
                       {
                           name: 'place1'
                       },
                       {
                           name: 'place2'
                       }
                   ]
               },
               {
                   name: 'region2',
                   places: [
                       {
                           name: 'place3'
                       },
                       {
                           name: 'place4'
                       }
                   ]
               }
           ]
       },
       {
           name: 'country2',
           regions: [
               {
                   name: 'region3',
                   places: [
                       {
                           name: 'place5'
                       },
                       {
                           name: 'place6'
                       }
                   ]
               },
               {
                   name: 'region4',
                   places: [
                       {
                           name: 'place7'
                       },
                       {
                           name: 'place8'
                       }
                   ]
               }
           ]
       }
    ]
};
于 2013-09-08T10:03:33.970 に答える
1

データ用のJSONオブジェクトを作成し、 MongoDBに保存できます。ここには、データを保存および取得する方法に関するドキュメントがいくつかあります。

さらに理解を深めるための記事がここにあるので、JSON オブジェクトの作成方法を確認できます。その後、それらをどのように保存するかはあなた次第です。

于 2013-09-08T10:02:58.513 に答える
0

この量のデータを Ajax リクエストなしでクライアント側に保存することはお勧めしません。ただし、現時点で私が行うことは次のとおりです。

var data= new Array()

data["US"] = new Array();
data["US"]["Info"] = "United Stats Information...";
data["US"]["Arizona"] = new Array();
data["US"]["Arizona"]["Info"] = "Region Info...";
data["US"]["Arizona"]["placeA"] = "PlaceA Info!";
data["US"]["Arizona"]["placeB"] = "PlaceB Info!";
于 2013-09-08T10:01:59.123 に答える