1

Вот собственно код и вопрос к нему:

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. Т.е. выводились бы числа, которые ввёл пользователь, но в порядке убывания

1
  • let Arr=window.prompt('Введите числа'); console.log('Получено:', Arr.split('').sort().reverse().join(''));
    – Yaant
    18 дек 2019 в 18:02

1 ответ 1

0
Arr=+Arr;
console.log(Arr, typeof Arr, Arr.length); // add this line
for(let i=0;i<Arr.length;i++){

У числа нет свойства length, значит i<Arr.length будет false - выполнение не заходит в цикл.

Когда зайдет - будут ошибки, потому что ни одному Arr... не присвоено значение.

Пардон, одному все-таки присвоено :).

Ваш ответ

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge you have read our privacy policy.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками или задайте свой вопрос.