2015-02-24 3 views
0

Я начиная с этим основным образцом кода:Получить случайный элемент из массива

<% 
block1 = "tree, ball, cheese, rabbit, waffle, planet, string, cat, dog, hole, hobbit, sing," 

wordArray1 = split(block1, ",") 

For Each item In wordArray1 
    Response.Write(item & "<br />") 
Next 

max=11 
min = 1 
Randomize 
rand1 = Int((max-min+1)*Rnd+min) 

response.write "<hr/>rand1: " & rand1 & "<hr/>" 

w1 = wordArray1(0,rand1) 

response.write "w1: " & w1 & "<hr/>" 
%> 

Я начинаю со списком слов, расщепленных запятыми (block1).

преобразовать это в массив (wordArray1)

Я могу доказать, что существует массив с помощью цикла через него и печать значения массива на страницу.

Я хотел бы иметь возможность случайным образом выбрать только одно значение из этого массива.

Я думал, что я мог бы просто сделать что-то вроде:

max=11 
min = 1 
Randomize 
rand1 = Int((max-min+1)*Rnd+min) 

response.write "<hr/>rand1: " & rand1 & "<hr/>" 

w1 = wordArray1(0,rand1) 

Но я получаю эту ошибку:

Microsoft VBScript runtime error '800a0009' 
Subscript out of range: 'wordArray1' 

Как я могу случайно получить доступ к одной из массива?

Благодаря

ответ

0

Вы не создаете многомерный массив, так что вы не должны быть переходящими в двух параметрах. Измените эту строку:

w1 = wordArray1(0,rand1) 

к этому:

w1 = wordArray1(rand1) 
Смежные вопросы