2016-11-30 3 views
0

Ниже мой код, по какой-то причине он выводит undefined для ['6'] & ['7'], все остальные работают. Я не понимаю, что происходит.Простой Javascript для выбора случайного элемента из массива вывода «не определено» на 2-х элементов (jsfiddle включен)

var array = [ 
    ['1'], 
    ['2'], 
    ['3'], 
    ['4'], 
    ['5'], 
    ['6'] 
    ['7'], 
    ['8'], 
    ['9'], 
    ['10'] 
]; 

if(document.getElementById("random-element")) { 
    var rand = array[Math.floor(Math.random() * array.length)]; 
    document.getElementById('random-element').innerHTML = rand; 
} 

https://jsfiddle.net/ggky7a03/

+3

Вы пропустили запятую после ['6'] – htoniv

+0

@htoniv О, ничего себе. Не могу поверить, что я пропустил это (и что netbeans не дал мне никаких указаний). Огромное спасибо! –

+0

ну, это было все еще актуально, поэтому он не показал вам –

ответ

0

Вы пропустили запятую в массиве, который объяснит, почему эти 2 значения не возвращаются (они не существуют)

примечание стороны, array является зарезервированным словом JS, так что вы не можете (не должны) использовать его для имени переменной, поэтому изменить его

var myAwesomeArray = [ 
// or similar 

Вот ваш fixed code

+0

Imagine - настоящие авторы получили этот ответ от своего редактора: запятая отсутствует на стр. 127, книга не читается :) –