Loading...
kabalsky avatar kabalsky 27 Точки

Problem 01. SoftUni Administration

Здравейте , ако може някой да ми обясни къде е грешката.

Задачата е 1 от изпита на 24.10.2020 JavaScript Advanced

Problem 01. SoftUni Administration

Код: https://pastebin.com/gYETUGBC

 

 

Благодаря предварително.

Тагове:
0
JavaScript Advanced
kabalsky avatar kabalsky 27 Точки

Да определено

То кода ми не е много як, но защо в браузъра  работи а при съдията не.

Изпита не ли за функцинален код който работи или трябва да писан по точно определен начин?

1
MariqnK1 avatar MariqnK1 52 Точки

Кода ти изглежда добре. Колко точки удари с него?

1
kabalsky avatar kabalsky 27 Точки

Познай...

37

1
MariqnK1 avatar MariqnK1 52 Точки

Само willystyle може да ни помогне. laugh

 

Добре си се справил, имайки предвид, че това не ти е главния език. Ако съдя по тага на темата си в C# пътеката?!

1
kabalsky avatar kabalsky 27 Точки

Да ,точно

Но за справянето , явно не съм се справил достатъчно (37 точки много ме дразнят :)  )

мерси все пак.

0
volen_trend avatar volen_trend 1 Точки

И на мен ми даваше 17 точки. След това махнах replaceAll фукцията и използвах два пъти replace за една проста стринг обработка. След това ми даде 100/100.

Не е нормално това колеги.

1
kabalsky avatar kabalsky 27 Точки

Проблема е че не сме наясно кои методи не вървят в Judge и как селектира , или само аз не съм наясно за  да ги избягвам.

 

0
willystyle avatar willystyle 2472 Точки

ще помогна когато отключат изпита след 2-3 дена, така на сляпо без скелет и judge е много трудно.

1
kabalsky avatar kabalsky 27 Точки

Благодаря,

само ако можеш да кажеш защо в браузъра работи а в Judge не ,защото си селектирам лист айтемите и ги 

консол логвам на различни места и подребата е правилна но в нулевите тестове на Judge не излизаха сортирани.

Дали Judge ги селектира по различен начин?

0
willystyle avatar willystyle 2472 Точки

може би сортиращата функция не ти в вярна, аз бих я написал така:
let sorted = [...lists].sort((a, b) => Date.parse(a.querySelector('h4').textContent.replace(/^.+? - /, '')[1]) - Date.parse(b.querySelector('h4').textContent.replace(/^.+? - /, '')[1]));
поне така и часът ще от значение при наредбата

0
willystyle avatar willystyle 2472 Точки

няма да даде :) има основни грешки

Например  при сортиране ти селектираш всички li елементи, a трябва само тези в модула в който вкарваш елемент. Изчакай да отворят judge и ще я нагласим.

PS: нито едно от решенията на двамата не работеше в браузера, затова ги сглобих двете и ето нещо работещо, а като пуснат judge ще го докараме до 100
https://pastebin.com/T3KyiLLB

 

2
25/10/2020 19:02:41
kabalsky avatar kabalsky 27 Точки

Здравей .

В какъв смисъл не работи в браузера , в условието е казано да се използва Chrome,  при него работи а при другите не работи моят код.

0
willystyle avatar willystyle 2472 Точки

Хрома се иска заради input date-time, понеже Мозила не го поддържа, мисълта ми беше, че като пробвах и твоето и на Мариян решение в скелета, не функционираше (въобще не добавяха трейнинги), но може и да съм се объркал нещо, но това което пуснах мисля, че работи добре.
PS: Да, моя грешка, работят, но не всичко е както трябва, при тебе 1) сортирането не ти е само по дата, ами и стринга преди нея 2) Когато си добавил в някой модул, и после добавиш в друг модул, първия се изпразва.

0
26/10/2020 15:55:46
Mihail.Tomov92 avatar Mihail.Tomov92 2 Точки

Привет хора! 

Имам абсолютно същия проблем като @kabalsky и досега не ми се е случвало толкова време да не си намеря грешката (сигурно е нормално понеже и аз идвам от C# пътеката).

Тук съм качил решението преди да откача със следващите 20 събмишъна https://pastebin.com/RL6q1JPe (кодът е далече от перфектен, но работеше по условието)

Имам 12/100 и всеки път грешката беше 'Unexpected error: Cannot read property 'children' of undefined'

Чакам practice и аз, но ако някой междувременно разбере защо ми е гърмяла задачата ще съм супер благодарен!

0
kabalsky avatar kabalsky 27 Точки

Здравей ,

при мен тази грешка се получаваше като сложа replaceAll ,след като го заместих с друго 

(Може да погледнеш моето решение ) се оправи.

п.с  понеже node.js  не поддържал replaceAll

0
28/10/2020 20:24:50
Mihail.Tomov92 avatar Mihail.Tomov92 2 Точки

Здрасти,

Да, за replaceAll разбрах, но в случая аз използвах replace, доколкото помня даже бях пробвал да заменя replace със split и след това join, за да се уверя, че не гърми от replace и даде същата грешка. Мисля, че е другаде грешката, но човек да ме убие няма да се сетя.

Разцъках твоя код в браузъра и единственото, което забелязах е, че имената на модулите също се сортират по азбучен ред. Може там да е дало грешка, тъй като по условие сортировката е само по дата, ако има повече от една лекция в модул. 

Ще ни поизмъчи още докато не се пусне заветния practice (поне аз доста се заинатих).

0
willystyle avatar willystyle 2472 Точки

btw успели сме на сляпо без judge 100/100, изпита вече е отворен

0
Mihail.Tomov92 avatar Mihail.Tomov92 2 Точки

Да, аз в крайна сметка им писах в групата да го отворят. 

За 40 минути на свеж мозък си рефакторирах моето решение и получих 100 точки също.

1-вата ми грешка се оказа още в началото, където викам Array.from на уж колекцията от option елементи, а се оказа, че съм сбъркал селектора и съм взел само parent елемента. (естествено Chrome е по-умен от мен и по подразбиране е взел децата на елемента, върху който съм извикал Array.from, може да е от полза това знание)

2-рата ми грешка е била естествено в сортировката, която най-добре се прави без да се трият и слагат наново сортираните елементи, а директно след sort функцията с един чейн да се добавят (чак наскоро разбрах, че реално сортиращата функция не създава нови елементи и append просто ги подрежда в дом дървото)

Алелуя и следващият месец поправяме грешките! 

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.