我正在尝试访问我的数组中的值,并将每个值分配给我稍后将要使用的变量。我有一个创建的数组,通过函数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())];
}
答案 0 :(得分:2)
JavaScript只有一维数组 - 但数组中的元素本身也可以是数组。那就是你在那里。 (好吧,就JavaScript的通用数组are even arrays at all ...)
而言所以:
var x = randomPlaces[0][0];
var y = randomPlaces[0][1];
或当然
var randomPlace = randomPlaces[0];
var x = randomPlace[0];
var y = randomPlace[1];
分解:randomPlaces[0]
返回randomPlaces
中的第一个条目,该条目是对[51.528868434293244, -0.10179429999993772]
数组的引用。然后我们索引到那个。 x
所需的值位于第一个位置,因此位于[0]
; y
在第二个位置的值,所以[1]
。
如果你想要第二个数组([40.70590473669712, -73.9780035]
)中的值,你可以使用:
var x = randomPlaces[1][0];
var y = randomPlaces[1][1];
......第三个数组将在[2]
等等。
如果您想随机获取该位置,请使用Math.random
,它会在0
和1
之间返回一个小数,包括0
, ex 1
的群集,并将其乘以数组的长度,将结果放在地上(向下舍入)。 (假设数组有20个条目,Math.random()
返回0.8
:0.8 * 20 = 16
。)例如:
var index, randomPlace, x, y;
index = Math.floor(Math.random() * randomPlace.length);
randomPlace = randomPlaces[index];
x = randomPlace[0];
y = randomPlace[1];
答案 1 :(得分:0)
您是否尝试过调用该元素?
看起来你应该可以通过调用RandomPlaces [0] [0]来获得51.528868434293244 和-0.10179429999993772通过调用RandomPlaces [0] [1]。
现在你只需要同时调用这两个值,你可以通过调用randomValue [0]和randomValue [1]来访问它们。
答案 2 :(得分:0)
获得randomValue后添加:
var x = randomValue[0];
var y = randomValue[1];