2014-12-04 2 views
-1

Я попытался следующий код, но все же это не сработало:
Как я могу выбрать один случайный элемент из массива?

<html> 
<body> 
<p id="demo"></p> 
<p id="demo2"></p> 

<script> 

var max=1000; 
var text=new Array(); 
var i=0; 

for (i; i<=max ; i++) { 
    text[i]=i; 
} 
var newx0=new Array(); 
newx0.push(text); 
var rand = newx0[Math.floor(Math.random() * newx0.length)]; 
var randomx0=newx0[Math.floor(Math.random()* newx0.length)]; 
document.getElementById("demo").innerHTML = rand; 
document.getElementById("demo2").innerHTML = newx0; 

proglem является ранд ценными отпечатками 0 до 1000 раз, как newx0 ценного

+4

Можете ли вы привести в порядок свой код (т.е. закрыть теги и т.д., так что это полный) и объяснить, что не работает по этому поводу? –

+1

Что не работает? – renatoargh

+0

'text' уже является массивом, но затем вы нажимаете этот массив на другой массив' newx0' - это намеренно? – Jamiec

ответ

4

new0 представляет собой массив, который содержит один элемент: ваш другой массив text. Это означает, что newx0.length всегда 1. Почему вы так делаете эту оболочку массива? Почему не просто

var rand = text[Math.floor(Math.random() * text.length)]; 
      ^^^^       ^^^^ 

вместо этого?

+0

да, что мне нужно, thx *. * Но почему проблема с newx0? – myname

+0

и возможно ли, что: теперь у меня есть от 0 до 1000 ... и мне также нужно больше 4-х раз ... так что у меня есть массив с числом от 0 до 1000 и 5 раз ... пример 0, .... 1000, 0, ...., 1000 и дальше? – myname

0
/** 
* Returns a random integer between min (inclusive) and max (inclusive) 
* Using Math.round() will give you a non-uniform distribution! 
*/ 
function getRandomInt(min, max) { 
    return Math.floor(Math.random() * (max - min + 1)) + min; 
} 

var array = [wherever your array comes from];  //Set up your array to be sampled 
var randIndex = getRandomInt(0, array.length()); //Randomly select an index within the array's range 
var randSelectedObj = array[randIndex];   //Access the element in the array at the selected index 

getRandomInt было взято отсюда: Generating random whole numbers in JavaScript in a specific range?

Смежные вопросы