, чтобы сохранить свой прогресс
Не срабатывает первый тест даже если просто возвращаю "II"
https://prnt.sc/wvich9
Слева в редакторе есть три кнопки, в том числе и Помощь. Перешел в подсказки, взял первое же решение предложенное (Solutions)
var convertToRoman = function(num) {
var decimalValue = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];
var romanNumeral = [
"M",
"CM",
"D",
"CD",
"C",
"XC",
"L",
"XL",
"X",
"IX",
"V",
"IV",
"I"
];
var romanized = "";
for (var index = 0; index < decimalValue.length; index++) {
while (decimalValue[index] <= num) {
romanized += romanNumeral[index];
num -= decimalValue[index];
}
}
return romanized;
};
convertToRoman(36);
Работает.
Чессказать, сам я и не догадался как решить эту задачку, без подсказки оказалось никак. Но именно такой современный мир разработки: умение быстро найти решение в сети, так что это ОК. Но когда нашел и оно работает, очень хорошо попробовать разобраться как именно и почему оно работает. Чтобы прокачать и свои навыки.
Ну я практически сам её решил, но я не понял почему моё решение не прошло ни один тест? оно работало почти для всех случаев из теста
А пришли свое решение.
Вот моё решение, оно немного не доделано, но должно работать для большинства случаев из теста, ну хотя бы один проходить точно)
https://codepen.io/shelder14/pen/PoGXaEo
В таких случаях жми F12 и смотри что происходит в консоли. Ты просто забыл объявить переменную.
const romanNumbers = [
{symbol: 'I', number: 1},
{symbol: 'V', number:5},
{symbol: 'X', number:10},
{symbol: 'L', number:50},
{symbol: 'C', number:100},
{symbol: 'D', number:500},
{symbol: 'M', number:1000}
];
const забыл.
В итоге ошибка
Lol точно, понял, cпасибо. Очень странно что в codepen не было никакой ошибки....
Особо странного ничего нет. Это зависит от настроек и там специально сделано, чтобы новички меньше спотыкались. Здесь же ближе к боевым реалиям.