Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.08.2011, 15:33
Новичок на форуме
Отправить личное сообщение для biz87 Посмотреть профиль Найти все сообщения от biz87
 
Регистрация: 21.08.2011
Сообщений: 6

Решение задачи с объектом math
Здравствуйте. Решаю вот такую задачку.
Ваша задача написать функцию, которая принимает два параметра.
1. Массив, состоящий из чисел с дробями.
2. Метод округления "round", "ceil" или "floor".

На выходе функция должна выводить этот же массив, но при этом все элементы массива,
должны быть округлены с помощью указанного во втором параметре метода объекта Math.

Исходный массив:
var numberArray = [34.82, 12.90, 17.01, 78.51];

Написал решение, уверен что решение правильное, но где-то закралась ошибка, не могу понять где. Может вы чего подскажете.

function numb (myArray, method)
{
	for(var i = 0; i < myArray.length; i++)
	{
		if (method == round)
		{
			myArray[i] = math.round(myArray[i]);
			document.write(myArray[i] + "<br>");
		}
		else if(method == ceil)
		{
			myArray[i] = math.ceil(myArray[i]);
			document.write(myArray[i] + "<br>");
		}
		else if(method == floor)
		{
			myArray[i] = math.floor(myArray[i]);
			document.write(myArray[i] + "<br>");
		}
		else
		{
			document.write("Вы ввели неправильный метод");
		}
	}

}
var numberArray = [34.82, 12.90, 17.01, 78.51];
numb(numberArray, "ceil");
Ответить с цитированием
  #2 (permalink)  
Старый 22.08.2011, 15:38
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

function numb(arr, method) {
    return arr.map(Math[method]);
}
alert(numb([34.82, 12.90, 17.01, 78.51], 'ceil'));


А где у вас ошибка, вы узнаете, когда откроете, наконец, для себя консоль ошибок. А то так и будете из-за каждой синтаксической ошибки на форум бегать.
Ответить с цитированием
  #3 (permalink)  
Старый 22.08.2011, 15:49
Новичок на форуме
Отправить личное сообщение для biz87 Посмотреть профиль Найти все сообщения от biz87
 
Регистрация: 21.08.2011
Сообщений: 6

Что то я забыл совсем про консоль ошибок. Спасибо за напоминание. Только я не просил другое решение задачи. Мне более важно не решить ее любым способом, а понять где я ошибся.
Ответить с цитированием
  #4 (permalink)  
Старый 22.08.2011, 15:58
Новичок на форуме
Отправить личное сообщение для biz87 Посмотреть профиль Найти все сообщения от biz87
 
Регистрация: 21.08.2011
Сообщений: 6

Ошибка найдена.
Используя консоль ошибок я выловил ошибку.
объект Math пишется с большой буквы, а я писал маленькими.
Ответить с цитированием
  #5 (permalink)  
Старый 26.08.2011, 13:50
Профессор
Отправить личное сообщение для popov654 Посмотреть профиль Найти все сообщения от popov654
 
Регистрация: 22.09.2010
Сообщений: 217

Не только. У Вас ещё кавычки пропущены при сравнениии строк... Может, это и прокатывает (не пробовал), но это всяко дурной тон.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение задачи (теста) или как вычислить правильный ответ? Remarkus Общие вопросы Javascript 0 25.04.2011 10:50