-4

配列から値にアクセスし、後で使用する変数に各値を代入しようとしています。私は配列を作成し、関数 randomGo() を介して、数値のペアを返す外側の配列の乱数を取得しました。次に、各値を変数に割り当てたいと思います。たとえば、randomPlaces [0] から数値を取得する場合、var x= 51.528868434293244 および var y= -0.10179429999993772 を作成するにはどうすればよいですか? ありがとう!Javascript と HTML のみを使用しています。

var randomPlaces = [[51.528868434293244, -0.10179429999993772], [40.70590473669712, -73.9780035], [48.85887766623369, 2.3470598999999766], [53.32443937613261, -6.251694999999927], [41.392700620871764, 2.139299250000022], [41.83401317282514, -87.73215545], [-33.79773327558923, 150.92243254999994], [50.05981411178046, 14.465623900000082], [52.50786264022465, 13.426141949999987], [30.02193806214437, -89.8822859]];

var randomLength = randomPlaces.length;

    function randomGo(){
        var randomValue = randomPlaces[Math.floor(randomPlaces.length * Math.random())];
    }
4

3 に答える 3

2

JavaScript には 1 次元配列しかありませんが、配列内の要素自体も配列にすることができます。それがあなたが持っているものです。(まぁ、JavaScriptのジェネリック配列がそもそも配列であるという程度で…)

そう:

var x = randomPlaces[0][0];
var y = randomPlaces[0][1];

またはもちろん

var randomPlace = randomPlaces[0];
var x = randomPlace[0];
var y = randomPlace[1];

分解すると、配列への参照であるrandomPlaces[0]の最初のエントリが返されます。次に、それに索引を付けます。あなたが望んでいた値は最初の位置にあったので、; の値は 2 番目の位置にあるので、.randomPlaces[51.528868434293244, -0.10179429999993772]x[0]y[1]

2 番目の配列 ( ) の値が必要な場合は、次[40.70590473669712, -73.9780035]を使用します。

var x = randomPlaces[1][0];
var y = randomPlaces[1][1];

...そして 3 番目の配列は at[2]などになります。

位置をランダムに取得したい場合は、 を使用します。これは、 ~ の間のMath.random小数( を含み、を含まない) を返し、それを配列の長さで乗算し、結果をフロアリング (切り捨て) します(配列に 20 個のエントリがあり、 : を返すとします。) たとえば、次のようになります。0101Math.random()0.80.8 * 20 = 16

var index, randomPlace, x, y;
index = Math.floor(Math.random() * randomPlace.length);
randomPlace = randomPlaces[index];
x = randomPlace[0];
y = randomPlace[1];
于 2012-12-04T15:59:24.700 に答える
0

要素を呼び出してみましたか?

RandomPlaces[0][0] を呼び出して 51.528868434293244 を取得し、RandomPlaces[0][1] を呼び出して -0.10179429999993772 を取得できるようです。

現在、両方の値を一緒に呼び出しているだけですが、randomValue[0] と randomValue[1] を呼び出すことでアクセスできる可能性があります。

于 2012-12-04T16:01:33.880 に答える
0

randomValue を取得した後にこれを追加します。

var x = randomValue[0];
var y = randomValue[1];
于 2012-12-04T16:03:41.807 に答える