2016-10-28 3 views
-1

У меня возникли проблемы с циклом for. Когда я запускаю код, функция, кажется, запускается один раз, когда отображается случайный список, но не ожидаемое число, указанное.Проблема с зацикливанием функции с использованием цикла for

Может ли кто-нибудь помочь мне?

function List(max,min,numLists,numItems){ 
 
    this.max = max, 
 
    this.min = min, 
 
    this.numLists = numLists, 
 
    this.numItems = numItems, 
 
    this.generateList = function(){ 
 
     
 
     var fullArray = []; 
 
     var completeArray = []; 
 
     var numItems = this.numItems 
 
     
 
     
 
     //create an array of integers between min and max values 
 
     for (i = this.min ; i<(this.max+1) ; i++) { 
 
      fullArray.push(i); 
 
      } 
 
      
 
     //select a random value from array of integers and add to new array  
 
     for (j = 0 ; j<numItems ; j++) { 
 
      var randomItem = Math.floor(Math.random() * (fullArray.length)); 
 
      completeArray.push(fullArray[randomItem]); 
 
      } 
 
      
 
     //write new random list 
 
     document.write(completeArray); 
 
     
 
     } 
 

 
    this.generateMultipleLists = function() { 
 

 
    \t var numLists = this.numLists; 
 

 
    \t //loop list creation to create multiple list arrays 
 
    \t for (i=0 ; i<numLists ; i++){ 
 
    \t this.generateList(); 
 
    \t } 
 
    } 
 
} 
 
var newList = new List (100 , 12 , 7,15); 
 
newList.generateMultipleLists(); 
 

 

+3

нужно знать ожидаемый результат, и почему ваш выход из программы неправильно, если мы хотим помочь вам – NibblyPig

+0

Извиняюсь, я новичок в этом все это отсортированный сейчас, хотя – Wormdog1

ответ

0

Не создавать глобальные переменные В функции generateMultipleLists использовать var i в течение цикла, а не только i.

+0

Правильно, но вы должны объяснить, почему. –

+0

Вы создаете глобальные переменные for for loop –

+0

Используйте локальные переменные для итерации в циклах –

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