Need For Speed III 80/100
Тестът, който е в pastebin-a гърми, защото не сортира правилно mileage-a. A трябва да го сортира правилно, интересно защо гърми... Ако някой даде насока ще съм му много благодарен.
Тестът, който е в pastebin-a гърми, защото не сортира правилно mileage-a. A трябва да го сортира правилно, интересно защо гърми... Ако някой даде насока ще съм му много благодарен.
Имаше няколко грешки при сорирането:
1. sortByMileage връщаше само -1 или 1 и никога 0.
2. sortByMileage не достъпваше коректно mileage полето (breakpoint на ред №68 и debug)
Фикс за 1&2:
function sortByMileage(a, b) {
a = a[1].mileage;
b = b[1].mileage;
let comp = 0;
if (b > a) {
comp = 1;
} else if (b < a) {
comp = -1;
}
return comp;
}
3. sortAlphabetically не достъпваше коректно името (breakpoint на ред №83 и debug).
Фикс:
function sortAlphabetically(a, b) {
a = a[0];
b = b[0];
return a.localeCompare(b);
}
4. sortAlphabetically никога не се извикваше, независимо от резултата от sortByMileagе.
Фикс:
let arr = Object.entries(objCars)
.sort((a, b) => sortByMileage(a, b) || sortAlphabetically(a, b));
Въпросният случай се оправи, но още гърми последния тест с грешен отговор. Би трябвало всичко да върви.
А пък, когато сложа else if (a > b) на sortMileage последния тест гърми с runtime error.
Благодаря за влючването btw~~ <3
@MariqnK1
Това е цялото решение (100/100) в Judge:
Моя грешка, благодаря!