roadmap.az

Menyu

JavaScript & DOMDərs 9 / 25

Parametrli dövr

Sayğaclı təkrar

for üç hissədən ibarətdir: başlanğıc, davam şərti və addım. Əvvəl başlanğıc işləyir, sonra hər iterasiyadan əvvəl şərt yoxlanır; gövdədən sonra addım icra olunur.

function reverseText(text) {
  let result = '';
  for (let i = text.length - 1; i >= 0; i--) result += text[i];
  return result;
}
function firstDot(text) {
  for (let i = 0; i < text.length; i++) {
    if (text[i] === '.') return i;
  }
  return -1;
}
console.log(reverseText('Salam'), firstDot('Bir. İki.'));
Nümunə

Təkrarı idarə et

break ən yaxın dövrü bitirir; continue cari iterasiyanın qalan hissəsini ötürüb növbəti addıma keçir. return isə dövrün daxil olduğu funksiyanı tam bitirir. Sadə ASCII mətninə uyğun yuxarıdakı çevirmə bütün mürəkkəb Unicode işarələrini bütöv saxlamaya bilər.

İndeks sıfırdan başladığı üçün son indeks length - 1-dir. i <= text.length bir artıq mövqeyə müraciət edir. Sayğacı qəsdən əks istiqamətdə dəyişdirərkən dayanma şərtini də uyğunlaşdır.

Əlavə qeydlər və mənbələr

for başlanğıcı, şərti və addımı bir yerdə saxlayır. Sayğacla mətn simvollarını gəz, break ilə dövrü bitir və continue ilə yalnız cari iterasiyanın qalan hissəsini ötür.

Niyə vacibdir?

JavaScript istifadəçi hərəkətinə cavab verən və məlumatı emal edən səhifələr yaratmağa imkan verir.

Əvvəlki biliklər

Bu mövzuda

  • for sintaksisi və indeks
  • Mətnin simvolları üzrə keçid
  • break və continue

Mövzuya baxış

Mənbələr

Məşqin idarəetməsi
Addım 1 / 3

Mətni tərsinə düz

Girişi dəyiş və indekslərlə tərsinə keçidin nəticəsini gör.

Hədəf: Mətnə Kod yaz.

Canlı nəticə

Giriş"Salam"
Nəticə"malaS"
Mənbə kodu
Array.from("Salam").reverse().join('')

Özün sına

Mətni tərsinə çevirən funksiya yaz. Sonra ilk nöqtənin indeksini dövrlə tap; nöqtə olmadıqda ayrıca nəticə qaytar.

Nəticəni necə yoxlayım?

Mətn tərsinə çevrilir və ilk nöqtənin indeksi tapılır; boş mətn və tapılmayan hal işlənir.

Gözlənilən nəticə

  • Salam → malaS.
  • a.b daxilində ilk nöqtənin indeksi 1; nöqtə olmayan mətndə-1.
malaS
1 -1
Nümunə həllə bax

Əvvəl özün sına, sonra müqayisə et. Bu, mümkün həllərdən biridir.

Array.from Unicode kod nöqtələrini ayırır; birləşən işarələrdən ibarət bəzi simvollar üçün ayrıca qrafem emalı lazım ola bilər. Nöqtə tapılmadıqda-1 qaytarılır.

main.js

function reverseText(text) {
  const characters = Array.from(text);
  let result = '';
  for (let i = characters.length - 1; i >= 0; i--) result += characters[i];
  return result;
}
function firstDot(text) {
  for (let i = 0; i < text.length; i++) if (text[i] === '.') return i;
  return -1;
}
console.log(reverseText('Salam'));
console.log(firstDot('a.b'), firstDot('Salam'));

Praktikanı bitirdin?Özün qiymətləndirirsən. İrəliləyiş bu brauzerdə saxlanılır.