Решение задачи с объектом 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, время: 05:24. |