კოლექცია Map-ის გამოყენება
დავუშვათ, გვაქვს პარაგრაფები:
<p>aaa</p>
<p>bbb</p>
<p>ccc</p>
<p>ddd</p>
<p>eee</p>
დავაყენოთ, რომ ყოველ პარაგრაფზე დაწკაპუნებისას
მას ბოლოში ჩაიწეროს მისი რიგითი ნომერი
პარაგრაფების სიაში. ამოცანა ამოვხსნათ
Map-ის მეშვეობით.
დავიწყოთ. ჯერ მოვიპოვოთ ჩვენი პარაგრაფები ცვლადში:
let elems = document.querySelectorAll('p');
შევქმნათ ახალი კოლექცია Map:
let map = new Map;
შევავსოთ ჩვენი კოლექცია ისე, რომ გასაღებები იყოს ჩვენი პარაგრაფები, ხოლო მათი მნიშვნელობები - რიგითი ნომრები:
let i = 1;
for (let elem of elems) {
map.set(elem, i++);
}
ციკლით გადავუყვეთ პარაგრაფებს და დავამატოთ მათზე დაწკაპუნების დამმუშავებელი:
for (let elem of elems) {
elem.addEventListener('click', function() {
});
}
ახლა დავაყენოთ, რომ დაწკაპუნებისას ჩავამატოთ რიგითი ნომერი პარაგრაფის ტექსტის ბოლოში. ამასთანავე მოვიპოვოთ ეს ნომერი ჩვენი კოლექციიდან:
for (let elem of elems) {
elem.addEventListener('click', function() {
this.textContent += map.get(this);
});
}
მოცემულია ინფუთები. გადაუყვეთ ამ ინფუთებს ციკლით
და შექმენით კოლექცია Map, რომლის გასაღებები
იქნება ინფუთები, ხოლო მნიშვნელობა - მათი
რიგითი ნომერი გვერდზე. გახადეთ ისე,
რომ ნებისმიერ ინფუთზე დაწკაპუნებისას მასში value-ში
ჩაიწეროს მისი რიგითი ნომერი.
მოცემულია ინფუთები. თითოეულ ინფუთში შესაძლებელია რიცხვის შეყვანა.
დავაყენოთ, რომ Enter-ზე დაჭერისას ინფუთმა
დაიმახსოვროს შეყვანილი რიცხვი. გახადეთ ისე,
რომ ინფუთიდან ფოკუსის დაკარგვისას კონსოლში
გამოიტანოს ინფუთში აქამდე შეყვანილი ყველა რიცხვის
მასივი.