Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.01.2012, 06:32
Аватар для Mike_Kharkov
Кандидат Javascript-наук
Отправить личное сообщение для Mike_Kharkov Посмотреть профиль Найти все сообщения от Mike_Kharkov
 
Регистрация: 04.01.2012
Сообщений: 143

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 в разделе учебник на этом сайте - но ответа на свой вопрос не нашел...(хотя не исключаю того что я что то упустил!)
Буду благодарен за любую подсказку по данным вопросам!
Ответить с цитированием
  #2 (permalink)  
Старый 18.01.2012, 06:56
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от Mike_Kharkov Посмотреть сообщение
Но в результате(если вывести на экран функцию) выводится только первый элемент массива(100) и больше ничего!?
В чём моя ошибка?
потому что функция возвращает результат и заканчивает выполнение. всё верно.
Сообщение от Mike_Kharkov Посмотреть сообщение
И ещё вопрос: как в данном случае сделать так что бы - то что выводится при помощи: document.write, выводилось с помощью alert();?
дело вкуса. но в задаче про вывод вообще ничего не сказано.
Сообщение от Mike_Kharkov Посмотреть сообщение
(имею ввиду все 6 элементов массива в виде цифр...)
P.S. Искал ответ по поводу Return в разделе учебник на этом сайте - но ответа на свой вопрос не нашел...(хотя не исключаю того что я что то упустил!)
вам нужно вернуть массив. либо возвращайте новый, либо изменяйте старый!
Ответить с цитированием
  #3 (permalink)  
Старый 18.01.2012, 07:14
Аватар для Mike_Kharkov
Кандидат Javascript-наук
Отправить личное сообщение для Mike_Kharkov Посмотреть профиль Найти все сообщения от Mike_Kharkov
 
Регистрация: 04.01.2012
Сообщений: 143

По поводу Alert(); я имел ввиду то что, если прописать его прямо вместо document.write - то он срабатывает 6-ть раз для каждого элемента!?
Хотелось понять как вывести всё в одним Alert();?
Пробовал также возвращать(хотя не могу понять зачем?) массив - но фаербаг выдаёт ошибку...
P.S. Но всё равно большое спасибо вам за помощь!

Последний раз редактировалось Mike_Kharkov, 18.01.2012 в 08:18.
Ответить с цитированием
  #4 (permalink)  
Старый 18.01.2012, 09:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,127

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>
Ответить с цитированием
  #5 (permalink)  
Старый 18.01.2012, 20:30
Аватар для Mike_Kharkov
Кандидат Javascript-наук
Отправить личное сообщение для Mike_Kharkov Посмотреть профиль Найти все сообщения от Mike_Kharkov
 
Регистрация: 04.01.2012
Сообщений: 143

Сообщение от рони Посмотреть сообщение
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 и в учебнике на сайте нашел следующее:
"Если вы хотите быть уверенным, что число, начинающееся с нуля, будет интерпретировано верно - используйте второй необязательный аргумент parseInt - основание системы счисления:

1 alert( parseInt('010', 10) ); // во всех браузерах 10"
P.S. Так и не понял как конкретно действует 2-ой параметр?
+ если вместо document.write прописать alert(); - то тег <br/> игнорируется?
Не подскажите как решить эту ситуацию?
Ответить с цитированием
  #6 (permalink)  
Старый 18.01.2012, 20:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,127

Mike_Kharkov,
alert(z(myArray).join('\n'))
Ответить с цитированием
  #7 (permalink)  
Старый 18.01.2012, 21:06
Аватар для Mike_Kharkov
Кандидат Javascript-наук
Отправить личное сообщение для Mike_Kharkov Посмотреть профиль Найти все сообщения от Mike_Kharkov
 
Регистрация: 04.01.2012
Сообщений: 143

Спасибо за ответы!
Очень вам благодарен...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
оператор return возвращает значение, а не ссылку. Vertuplatonium Общие вопросы Javascript 4 16.05.2011 14:02
Не получается вернуть в родительское окно значение из нескольких строк javascript_pupil Общие вопросы Javascript 8 28.11.2010 18:14
Как правильно передать значение. xadv Работа 2 05.11.2010 12:55
Свойства посредством полиморфных функций tenshi Ваши сайты и скрипты 0 18.03.2010 17:12
Вернуть значение из HTTP Response Viper jQuery 0 05.10.2008 15:52