Javascript İlk Harfi Büyük Harf

| | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Daha çok bir mühendis gibi düşünmeye başlamanıza yardımcı olacak birçok başlangıç seviyesindeki kod zorluğu vardır. Böyle bir zorluk, belirli bir dizedeki her kelimenin ilk harfini büyük harfle yazmanızdır. Bu makalede, JavaScript`teki komut istemine ve birkaç olası çözüme göz atacağız.

Bir işlev verildiğinde büyük harfle, str parametresi olarak, bu str kelimesini her kelime büyük olacak şekilde döndürün. Çözümünüzdeki en önemli durumları düşünmeye çalışın (girdi, yanlış girdi türü vb. olarak değil).

Yaklaşım

  1. İsteğe tekrar bakın. Sözcüklerde bulabildiğiniz anahtar kelimeleri yazın veya vurgulayın.
  2. Problem kelimesinin anlamını birleştirin. Kod zorlukları yapmanın en zor yanı, sorunun sizden ne yapmanızı istediğini anlamaya çalışmaktır. Sorunu anlamak, onu çözmede uzun bir yol kat etmenize yardımcı olacaktır.
  3. olası bir sözde kod çözümü. Gerçek kod olması gerekmez (IDE veya konsol tarayıcınızda çalıştırılabilir olması gerekmez - basit İngilizce yeterlidir):

Problemi adım adım dikkatlice çözün. Bahşiş durumlarını (yanlış bir girişin veya boş bir dizenin iletilebileceği durumlar) ve sorunun mantıksal adımlara nasıl bölüneceğini düşünmenize yardımcı olacaktır. Bu temelde sizin deneme aşamanızdır - yanlış cevap yoktur, sadece soruna nasıl yaklaşılacağına dair düşünceler vardır. Bu düşünceler yanıltıcı veya yanlış yönlendirilmiş olabilir - bir sorunu çözmek için kazanılan yaklaşımları bu şekilde öğrenirsiniz

Yüksek sesle açıklayarak çözebilirsem mantığın daha kolay olduğunu buldum. Kilometreniz yaklaşımınıza bağlı olarak değişebilir, ancak en azından işinize yarayabilir diye önermek istedim! Bunun gibi küçük bir sorunun takma adı biraz abartılı gibi görünüyor, ancak şimdi konsepti uygularsanız çok daha zor problemler üzerinde çalışırken sizin için daha kolay olacaktır.

Çözümler

Çözüm # 1: split () ve String.replace () ve charAt () yöntemleriyle döngü

izin = büyük harf kullan (str) => {= dur izin str.split (``); for (ya i = 0; i

Bu ilk çözümde, dizeyi boşluklarına böldük. Bu bize indeksi olarak her benzersiz kelimeye bir arr verir. Dizideki döngü bize her bir dizinin kişisel dizinlerine erişme imkanı verir. Dizini 0 dizinindeki (dizi [i] .charAt (0) değeri büyük harfle değiştirmenin bir sonucu olarak dizini (bu durumda dizi arr [i]`dir) i dizinine yeniden atadık. kelimelerin her biri arasındaki boşluklar

Çözüm # 2: harita yöntemi ve dilim ile bölün

Bu çözüme çok benzer bir şekilde başlıyoruz, ancak ağ üzerinden döngü kartı adı verilen bir ES6 dizi yöntemi kullanıyoruz ve geri dönüyoruz. Her kelimenin ilk karakterini büyük harfe çeviren yeni değerlerin ‚. Bunu, ilk harf için toUpperCase (), dizenin geri kalanı için dilim () ve dizeler için ne yapacağımızı açıkça belirleyerek yapar. kelimenin yeni sürümünü almak için birleştirin. Sonra diziyi birleştiririz ve onu döndürürüz

div>

Çözüm n ¬∞ 3: normal ifadeler

kaldıraca izin ver = (str) => {let regex = / (^ | s) S / g dönüş str.replace (regex, letter => letter.toUpperCase ()); } root`u bırakın = document.getElementById (`root`); root.innerHTML = JSON.stringify (büyük harf kullan (hızlı kahverengi tilki tembel köpek `Äã`Äã` üzerine atladı));

Bu çözümde, dizenin (^) başında beyaz olmayan tüm karakterleri (S) bulmak için normal bir ifade kullanırız. ) boşluk karakter(ler)inden sonra veya . Sondaki g göstergesi küresel anlamına gelir ve bu modelin tüm örneklerini bulmamızı sağlar. Ardından, bu normal ifade modelini, o harfi alıp büyük harfle döndüren bir işlevle değiştirmek için replace yöntemini kullanırız.

son düşünceler

Bu çözümler, bu sorun .. Büyük olasılıkla, bunlardan daha fazlasını yapmaya başladıkça, bir makale veya blog tarafından sunulanlardan farklı olabilecek veya olmayabilecek çözümler bulacaksınız. Bu iyi birşey. Bu, bir mühendis gibi düşünmeye başladığınız anlamına gelir - ve mesele bu.

Devam. Bu çözümlerde, zirve vakaları ele alınmaz. Konunuz boşsa veya bir sayıysa ne yapmalısınız? Bu sınırdaki durumlarla ilgilenerek yukarıdaki kodu eklemeyi deneyin

İpucu :. str`in var olup olmadığını koşullu olarak bulmak için nokta / ünlem işareti kullanın. Ne olduğunu tam olarak bilmediğiniz bir şeyin türünü bulmanın bir yolu olup olmadığını öğrenmek için MDN belgelerine bakın.

bir şey : henüz yapmadıysanız ters javascript sorgulama dizelerini deneyin

Değerlendirilecek diğer kaynaklar:

Ruby`de düzenli ifadeler kullanma - Bu, Ruby`ye adanmıştır, ancak düzenli ifade genellikle dilden bağımsızdır - hızlı ` RegExp sözdizimi hakkında daha fazlasını Çözüm`de arayın # 1. 3.

JavaScript Metni Değiştirme: Adım Adım Kılavuz - Çözüm n`de kullanılan değiştirme yöntemine ayrılmış bir eğitim. 1.