Սահմանափակվեք միայն CSS-ով՝ ստեղծելով կարմիր, կապույտ և գորշ բլոկներ (առանց կառուցվածքը փոխելու, առանց ծածկոցներ ավելացնելու): Բլոկները պետք է տեղադրվեն պատկերի օրինակին համապատասխան: Դուք կարող եք սահմանել ոճեր կոնտեյների և բլոկների համար։
Frontend
Կիրառեք mapper ֆունկցիան, որը ընդունում է տվյալներ (source), դաշտեր (fields), ֆիլտր (filter) և դասավորություն (order): Պետք է՝ վավերացնել պարամետրերը (fields-ը պետք է լինի զանգված, source/filter/order-ը՝ ֆունկցիաներ, fields-ի մեջ գտնվող դաշտերը պետք է ներկայանան տվյալներում), ստանալ տվյալները source() կանչով, ֆիլտրել filter-ով, դասավորել order-ով և վերադարձնել միայն fields-ից պահանջվող դաշտերը։
Կատարեք React կոմպոնենտի կոդի վերանայում, որը կատարում է տվյալների փոխարկում, զանգահարում է տողային ֆունկցիա և ցուցադրում է ցանկը: Գտեք և ուղղեք բոլոր սխալներն ու խնդիրները (async in useEffect, կախվածությունների զանգվածի բացակայություն, օգտագործում է ինդեքս որպես key և այլն):
Օգտագործելով միայն DOM API (առանց React, միջոցով document), գրեք կոդ, որտեղ ցանկացած ուղղանկյունի վրա սեղմելիս ցույց է տրվում նրա գույնը: Խորհուրդ է տրվում օգտագործել մեկ իրադարձության հսկիչ բոլոր տարրերի համար: Ինչ է event.target և event.currentTarget տարբերությունը?
Կատարեք Queue դասի run մեթոդը այնպես, որ իրականացումը համապատասխանի օգտագործման օրինակին: run մեթոդը պետք է հերթականությամբ իրականացնել փոխանցված ասինխրոն ֆունկցիաները: Հաջորդ ֆունկցիան հերթում կարող է կոչվել միայն հետո, երբ կանչվի next-ը: Եթե որևէ ֆունկցիայում սխալ տեղի ունենա, ապա հաջորդ ֆունկցիաները չեն կոչվի: Մեթոդները պետք է աջակցեն շղթայական կանչերին (chaining):
React կոմպոնենտ գրեք, որի մեջ կա՛մ Add կոճակ։ Երբ սեղմում եք Add կոճակին, ավելանում է նոր կոճակ՝ հերթական համարով։ Երբ սեղմում եք ստեղծված կոճակին, այն ջնջվում է։ Ջնջումը պետք է ճիշտ աշխատի (ոչ ինդեքսով, այլ եզակի նույնականացուցիչով):
Կատարեք asyncFilter ֆունկցիան, որը ընդունում է թվերի զանգված և ասինխրոն ֆիլտրի ֆունկցիա, և վերադարձնում է ֆիլտրացված զանգված: Օրինակ, մուտք [1, 2, 3] և ֆունկցիա, որը թողնում է միայն անհատ թվերը, ելքը պետք է լինի [1, 3]: