var arr = new Array(5); var num = randomNumber(); var i = 0; randomArr(arr,num); function randomArr(arr,num) { if (arr.indexOf(num)< 0){ arr[i] = num; i++; } else { num = randomNumber(); } if (i>=arr.length){ console.log(arr); return; }else{ // 递归调用 randomArr(arr,num) } } function randomNumber() { // 返回一个大于2小于32的整数 return Math.floor(Math.random()*31 + 2) }