0

私は3つのアレイを持っています

var city = [
  ['Kaunas', 54.896872,23.892426],
  ['Vilnius', 54.711136,25.280685],
  ['Klaipeda', 55.720149,21.131401],
  ['Utena', 55.536403,25.59494],
];

var lake = [
  ['Ezeras Bijote', 55.785092,23.062956],
  ['Ezeras Druksiai', 55.627996,26.565228],
  ['Ezeras Sartai', 55.804368,25.832863],
  ['Ezeras Metelys', 54.300299,23.767004],
];

var shop = [
  ['Kauno Akropolis', 54.891665,23.917744],
  ['Panorama', 54.709549,25.257454],
  ['Europa', 54.687514,25.262886],
  ['Ozas', 54.638628,25.135685],
];

この3つの配列を1つの配列に追加したいのですが、これを行う方法がわかりません。このようなフォーム要素を呼び出すことができれば非常に便利ですbigArr[city][1]、、bigArr[shop][1]bigArr[lake][1]

4

4 に答える 4

1

compact()に興味があるかもしれません。

または、すでにオブジェクトとして宣言するだけです:

var myObject = {
    city: [
        ....
    ],
    lake: [
        ....
    ],
    shop: [
        ....
    ]
};
于 2012-07-27T16:51:31.700 に答える
1

多次元配列の代わりにオブジェクトを作成したい場合があります -

var bigArr = {
    "city": {
        Kaunas: {
            "lat": 54.896872,
            "lon": 23.892426 
        },
        Vilnius: {
            "lat": 54.711136,
            "lon": 25.280685
        },
        Klaipeda: {
            "lat": 55.720149,
            "lon": 21.131401
        },
        Utena: {
            "lat": 55.536403,
            "lon": 25.59494
        }
    },

    "lake": {
        ...
    },

    "shop": {
        ...
    }
}

そして、次のように使用できますbigArr.city.Kaunas.lat

于 2012-07-27T16:52:13.723 に答える
1

すでに持っているものを使用する:

var bigArr = {"city": city, "lake": lake, "shop": shop};

于 2012-07-27T16:53:32.347 に答える
1

配列の代わりにオブジェクトを使用する必要があります。文字列キーでアクセスできます。それらをリテラルとして作成します。

var coordinates = {
    "city": {
        Kaunas:   [54.896872,23.892426],
        Vilnius:  [54.711136,25.280685],
        Klaipeda: [55.720149,21.131401],
        Utena:    [55.536403,25.59494]
    },
    "lake": {
        ...
    },
    "shop": {
        ...
    }
}

次に、メンバー演算子を使用してプロパティにアクセスします。

  • ドット表記:coordinates.shop
  • ブラケット表記:coordinates["lake"]

ウテナの座標配列を取得するには、次を使用できますcoordinates.city["Utena"]

于 2012-07-27T16:59:32.173 に答える