Добрый вечер, имеется ряд функций для генерации объектов. все возвращается правильно, но в объекте появляется 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'])
скрин приложил