Return (не удается правильно вернуть значение...)
Здравствуйте!
Я новичёк в js и изучая уроки Попова решил сделать задание к его уроку: "Напишите функцию, которая получает в качестве параметра массив и перебирает его на предмет преобразования строк, начинающихся с числа в обычные числа. В результате работы функции, массив должен изменить свои значения на полностью числовые. Массив для задания: var myArray = ["100 попугаев", "201 рубль", "624 доллара", "109 кроликов", "33 весельчака", "62 кабана"];" Моё решение: function z(param1){ for (var i=0; i < param1.length; i++) { param1[i] = parseInt(param1[i]); document.write(param1[i] + "<br/>"); } } var myArray = ["100 попугаев", "201 рубль", "624 доллара", "109 кроликов", "33 весельчака", "62 кабана"]; z(myArray); Для себя хотел попробовать видоизменить его и за место document.write прописать: return param1[i]; Но в результате(если вывести на экран функцию) выводится только первый элемент массива(100) и больше ничего!? В чём моя ошибка? И ещё вопрос: как в данном случае сделать так что бы - то что выводится при помощи: document.write, выводилось с помощью alert();? (имею ввиду все 6 элементов массива в виде цифр...) P.S. Искал ответ по поводу Return в разделе учебник на этом сайте - но ответа на свой вопрос не нашел...(хотя не исключаю того что я что то упустил!) Буду благодарен за любую подсказку по данным вопросам! |
Цитата:
Цитата:
Цитата:
|
По поводу Alert(); я имел ввиду то что, если прописать его прямо вместо document.write - то он срабатывает 6-ть раз для каждого элемента!?
Хотелось понять как вывести всё в одним Alert();? Пробовал также возвращать(хотя не могу понять зачем?) массив - но фаербаг выдаёт ошибку... P.S. Но всё равно большое спасибо вам за помощь! |
Mike_Kharkov,
<!DOCTYPE html > <html> <head> <title></title> </head> <body> <script type="text/javascript"> function z(param1){ for (var i=0; i < param1.length; i++) { param1[i] = parseInt(param1[i],10); } return param1 } var myArray = ["100 попугаев", "201 рубль", "624 доллара", "109 кроликов", "33 весельчака", "62 кабана"]; document.write(z(myArray).join('<br />')) </script> </body> </html> |
Цитата:
"Если вы хотите быть уверенным, что число, начинающееся с нуля, будет интерпретировано верно - используйте второй необязательный аргумент parseInt - основание системы счисления: 1 alert( parseInt('010', 10) ); // во всех браузерах 10" P.S. Так и не понял как конкретно действует 2-ой параметр? + если вместо document.write прописать alert(); - то тег <br/> игнорируется? Не подскажите как решить эту ситуацию? |
Mike_Kharkov,
alert(z(myArray).join('\n')) |
Спасибо за ответы!
Очень вам благодарен... |
Часовой пояс GMT +3, время: 11:49. |