Решение задачи с объектом 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");
|
function numb(arr, method) {
return arr.map(Math[method]);
}
alert(numb([34.82, 12.90, 17.01, 78.51], 'ceil'));
А где у вас ошибка, вы узнаете, когда откроете, наконец, для себя консоль ошибок. А то так и будете из-за каждой синтаксической ошибки на форум бегать. |
Что то я забыл совсем про консоль ошибок. Спасибо за напоминание. Только я не просил другое решение задачи. Мне более важно не решить ее любым способом, а понять где я ошибся.
|
Ошибка найдена.
Используя консоль ошибок я выловил ошибку.
объект Math пишется с большой буквы, а я писал маленькими. |
Не только. У Вас ещё кавычки пропущены при сравнениии строк... Может, это и прокатывает (не пробовал), но это всяко дурной тон.
|
| Часовой пояс GMT +3, время: 00:39. |