Показать сообщение отдельно
  #1 (permalink)  
Старый 09.01.2020, 22:31
Аспирант
Отправить личное сообщение для SolomonRei Посмотреть профиль Найти все сообщения от SolomonRei
 
Регистрация: 05.04.2018
Сообщений: 77

Undefined ошибка
Добрый вечер, имеется ряд функций для генерации объектов. все возвращается правильно, но в объекте появляется undefined непонятно, почему
function generateObjects(count, colors) {
	 	  if (count % 2 == 0) {
	      let i = 1, arr = []
	      while(i < count) {
	      	 let color = arrayRandElement(arr, colors);
	      	 console.log(color)
	      		arr.push({id:i, color: color, state: 'hidden'})
	      		arr.push({id:++i, color: color, state: 'hidden'})
	        i++
	      }
	      console.log(arr)
    	}
    }

    function arrayRandElement(arr, colors) {
	    let rand = Math.floor(Math.random() * colors.length);
	  	let count = checkElements(arr, colors[rand])

	  	if(count >= 2) {
	  		arrayRandElement(arr, colors)
	  		}else {
	  			console.log(rand, colors)
	  			return colors[rand];
	  		}
		}

		function checkElements(arr, color) {
			let count = 0;
			arr.forEach((i) => {
				if (i.color == color) count++
			})
			return count
		}
    generateObjects(6, ['red', 'blue', 'yellow'])

скрин приложил
Изображения:
Тип файла: jpg Screenshot_13.jpg (13.3 Кб, 1 просмотров)
Ответить с цитированием