这是实际的代码和问题:
let Arr=[];
let Arr9, Arr8, Arr7, Arr6, Arr5, Arr4, Arr3, Arr2, Arr1, Arr0=[];
Arr=window.prompt('Введите числа');
Arr=+Arr;
for(let i=0;i<Arr.length;i++){
switch(Arr[i]){
case 9:
Arr9.unshift(Arr[i]);
break;
case 8:
Arr8.unshift(Arr[i]);
break;
case 7:
Arr7.unshift(Arr[i]);
break;
case 6:
Arr6.unshift(Arr[i]);
break;
case 5:
Arr5.unshift(Arr[i]);
break;
case 4:
Arr4.unshift(Arr[i]);
break;
case 3:
Arr3.unshift(Arr[i]);
break;
case 2:
Arr2.unshift(Arr[i]);
break;
case 1:
Arr1.unshift(Arr[i]);
break;
case 0:
Arr0.unshift(Arr[i]);
break;
default:
break;
}
}
document.write('Введено: '+Arr);
document.write('<br>'+'Получено: '+Arr9+Arr8+Arr7+Arr6+Arr5+Arr4+Arr3+Arr2+Arr1+Arr0); /*почему выводит undefined, а не переданные числа?*/
因此,当屏幕上显示“已接收:”行时,将显示用户输入的数字(整数,非负数),但按降序排列。示例:用户输入 5654878。“已接收:”行将显示 8876554。将显示用户输入的数字,但按降序排列
该数字没有属性
length
,所以它i<Arr.length
会false
- 执行不会进入循环。进入的时候会报错,因为没有
Arr...
赋值。抱歉,仍然分配了一个:)。