• JavaScript: dize işleme yöntemleri. jquery dizeleriyle çalışmak için javascript yöntemleri dizeden alt dizeyi alır

    yazdığınızda JavaScript, sık sık dizelerle çalışan yöntemlerin sözdizimi ve parametreleri hakkında bilgi aramak için İnternette gezinmeniz gerekir.

    Dizelerle çalışma konusunda birçok makale okudum. Bu gönderi, dizelerle çalışmak için en yaygın yöntemlerin örneklerini ve kısa açıklamalarını gösterecektir. Hızlı başvuru için en yaygın yöntemleri en üste koymaya çalıştım.

    Elbette, deneyimli geliştiricilerin çoğu, yöntemlerin çoğuna zaten oldukça aşinadır, ancak bunun, yeni başlayanlar için karmaşık işlemleri basit araçlarla gerçekleştirmeye yardımcı olabilecek çeşitli yöntemleri anlamaları için iyi bir liste olduğunu düşünüyorum.

    Dizeye Dönüştür

    Bir sayıyı, mantıksal ifadeyi veya nesneyi bir dizgeye dönüştürebilirsiniz:

    var numaram = 24; // 24 var myString = myNumber.toString(); // "24"

    ile aynı şekilde yapabilirsiniz Sicim():

    var numaram = 24; // 24 var MyString = String(myNumber); // "24"

    Değerin olmadığından emin değilseniz hükümsüz veya Tanımsız, kullanabilirsiniz Sicim(), değer türünden bağımsız olarak her zaman bir dize döndürür.

    Bir diziyi alt dizilere bölme

    Dizeleri bir alt dizi dizisine bölmek için yöntemi kullanabilirsiniz. bölmek():

    Var myString = "virgüllerde,ayrılmak,gelmek"; var substringArray = myString.split(","); // ["gelen", "ayrı", "at", "the", "virgül"] var arrayLimited = myString.split(",", 3); // ["gelen", "ayrılan", "en"]

    Son satırda da görebileceğiniz gibi, fonksiyonun ikinci parametresi son dizide yer alacak eleman sayısındaki sınırdır.

    Bir dizenin uzunluğunu alma

    Bir dizgede kaç karakter olduğunu bulmak için bu özelliği kullanırız. uzunluk:

    Var myString = "Olağanüstü bir karaktersin."; var stringLength = myString.length; // 25

    Bir dizede bir alt dize bulma

    Bir alt dizeyi aramak için iki yöntem vardır:

    kullanım indeksi():

    Var stringOne = "Johnny Waldo Harrison Waldo"; var neredesWaldo = stringOne.indexOf("Waldo"); // 7

    indeksi() yöntem, dizenin başından itibaren bir alt dize aramaya başlar ve alt dizenin ilk oluşumunun başlangıcının konumunu döndürür. Bu durumda, 7 numaradır.

    kullanım lastIndexOf():

    Var stringOne = "Johnny Waldo Harrison Waldo"; var neredesWaldo = stringOne.lastIndexOf("Waldo"); // 22

    Yöntem, dizedeki alt dizenin son oluşumunun başlangıç ​​konumunu döndürür.

    Alt dize bulunamazsa her iki yöntem de -1 döndürür ve her ikisi de dizede aramaya başlamak istediğiniz konumu gösteren isteğe bağlı ikinci bir bağımsız değişken alır. Böylece, ikinci bağımsız değişken "5" ise, indeksi() 0-4 karakterlerini göz ardı ederek 5. karakterde aramaya başlar. lastIndexOf() 5. karakterde aramaya başlar ve 6. karakter ve ötesini yok sayarak geriye doğru gider.

    Alt dize değiştirme

    Bir dizgedeki bir alt dizginin tekrarını başka bir alt dizgiyle değiştirmek için şunu kullanabilirsiniz: yer değiştirmek():

    Var slugger = "Josh Hamilton"; var betterSlugger = slugger.replace("h Hamilton", "e Bautista"); console.log(betterSlugger); // "Jose Bautista"

    İlk bağımsız değişken, değiştirmek istediğiniz şeydir ve ikinci bağımsız değişken yeni bir dizedir. İşlev, bir dizedeki bir alt dizenin yalnızca ilk geçtiği yeri değiştirir.

    Tüm oluşumları değiştirmek için, genel işaretli bir normal ifade kullanmanız gerekir:

    Var myString = "Otomotiv kıyısında otomotiv mermileri satıyor"; var newString = myString.replace(/otomotiv/g, "deniz"); konsol günlüğü(newString); // "Deniz kıyısında deniz kabukları satıyor"

    İkinci bağımsız değişken, özel bir şablon veya işlev içerebilir. Daha fazla detay okunabilir.

    Bir dizede belirli bir konumda bir karakter alın

    Fonksiyonu kullanarak sembolü elde edebiliriz. charAt():

    Var myString = "Tüy Kuşları"; var whatsAtSeven = myString.charAt(7); // "F"

    JavaScript'te sıklıkla olduğu gibi, bir dizideki ilk konum 1'den değil 0'dan başlar.

    Alternatif bir işlev olarak şunları kullanabilirsiniz: charCodeAt() karakter kodu olan işlev.

    Var myString = "Tüy Kuşları"; var whatsAtSeven = myString.charCodeAt(7); // "102" var whatsAtEleven = myString.charCodeAt(11); // "70"

    "F" karakterinin kodunun (11. konum) "f" karakterinin (7. konum) kodundan farklı olduğuna dikkat edin.

    Dizeleri birleştirme

    Çoğu durumda, dizeleri birleştirmek için "+" operatörünü kullanabilirsiniz. Ama yöntemi de kullanabilirsiniz. birleştirmek():

    Var stringOne = "Knibb Lisesi futbolu"; var stringTwo = stringOne.concat("kurallar."); // "Knibb Lisesi futbol kuralları"

    Bu şekilde, birçok satırı yazıldıkları sıraya göre birleştirebiliriz:

    VarstringOne = "Knibb"; var stringTwo = "Yüksek"; var stringThree = "futbol"; var stringFour = "kurallar."; var finalString = stringOne.concat(stringTwo, stringThree, stringFour); console.log(sonDize); // "Knibb yüksek futbol kuralları."

    Bir alt diziyi ayıklamak

    Başka bir dizinin bir kısmından bir dize almanın 3 yolu vardır:

    kullanma dilim():

    Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.slice(5, 10); // "fghij"

    kullanma alt dize ():

    Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substring(5, 10); // "fghij"

    Her iki işlevde de, birinci parametre alt dizenin başladığı karakterdir (0 konumundan başlayarak) ve ikinci argüman (isteğe bağlı), alt dizenin döndürüldüğü karakter konumudur. Örnek (5, 10), 5 ile 9 arasındaki diziyi döndürür.

    kullanma alt dizi ():

    Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substr(5, 10); // "fghijklmno"

    İlk bağımsız değişken, yeni satırın başladığı karakter konumu ve ikinci bağımsız değişken, yeni satırın başlangıç ​​konumundan itibaren karakter sayısıdır. Onlar. (5, 10), 5 konumundan başlayarak 10 karakter döndürür.

    Bir dizeyi büyük veya küçük harfe dönüştürün.

    Çeviri için 4 yöntem vardır. İlk 2 dizeyi büyük harfe dönüştürür:

    Var stringOne = "Konuş, seni duyamıyorum."; var stringTwo = stringOne.toLocaleUpperCase(); // "YÜKSEK KONUŞ, SENİ DUYAMIYORUM" var stringThree = stringOne.toUpperCase(); // "KONUŞ, SENİ DUYAMIYORUM"

    Diğer 2 dizeyi küçük harfe dönüştürür:

    Var stringOne = "BAĞIRMAK ZORUNDA DEĞİLSİNİZ"; var stringTwo = stringOne.toLocaleLowerCase(); // "bağırmak zorunda değilsiniz" var stringThree = stringOne.toLowerCase(); // "bağırmana gerek yok"

    "Yerel ayar" yöntemlerini kullanmak daha iyidir, çünkü farklı yerlerde, örneğin Türkiye'de, kayıtların gösterimi pek alışık olduğumuz gibi çalışmıyor ve bu nedenle sonuç istediğimiz gibi olabilir. "Yerel ayar" yöntemlerini kullanırsanız, böyle bir sorun olmayacaktır.

    desen eşleştirme

    Bir dizide desen eşleştirme, farklı şekillerde çalışan 2 yöntemle kullanılabilir.

    Yöntem kibrit() bir dizgeye uygulanır ve parametre olarak normal bir ifade alır:

    Var myString = "Bir ağaç aynası ne kadar ağaç tutabilir"; var Desenim = /.ood/; var myResult = myString.match(myPattern); // ["ahşap"] var patternLocation = myResult.index; // 9 var originalString = myResult.input // "Bir ağaç aynası ne kadar ağaç tutabilir"

    Yöntem yürütme() bir normal ifade nesnesine uygulanır ve parametre olarak bir dize alır:

    Var myString = "Bir ağaç aynası ne kadar ağaç tutabilir"; var Desenim = /.huck/; var myResult = myPattern.exec(myString); // ["ayna"] var patternLocation = myResult.index; // 27 var originalString = myResult.input // "Bir ağaç aynası ne kadar ağaç tutabilir"

    Her iki yöntem de yalnızca ilk eşleşmeyi döndürür. Eşleşme yoksa, iadeler hükümsüz.

    Yöntemi de kullanabilirsiniz aramak() düzenli bir ifade alır ve kalıbın ilk eşleşmesinin konumunu döndürür:

    Var myString = "Varsayın"; var patternLocation = myString.search(/ume/); // 3

    Eşleşme yoksa, " döndürür -1 «.

    Sıralama için iki dizeyi karşılaştırma

    Hangisinin alfabetik olarak önce geldiğini belirlemek için 2 diziyi karşılaştırabilirsiniz. Bunu yapmak için, yöntemi kullanıyoruz yerel Karşılaştırma() 3 olası değer döndüren:

    Var myString = "tavuk"; var myStringTwo = "yumurta"; var whichCameFirst = myString.localeCompare(myStringTwo); // -1 (Chrome, -2 değerini döndürür) whichCameFirst = myString.localeCompare("tavuk"); // 0 hangiCameFirst = myString.localeCompare("elma"); // 1 (Chrome 2 döndürür)

    Yukarıda gösterildiği gibi, dize bağımsız değişkeni orijinal dizeden sonra gelirse negatif bir sayı döndürülür. Dize bağımsız değişkeni orijinal dizeden önce gelirse pozitif bir sayı. iade edilirse 0 dizilerin eşit olduğu anlamına gelir.

    Dönüş değerini kontrol etmek için if (sonuç) kullanmak daha iyidir< 0), чем if (result === -1). Последнее не будет работать в Chrome.

    İlginiz için teşekkür ederim, umarım birçok yeni ve ilginç şey öğrenmişsinizdir!

    Makale yazarı: Alex. Kategori:
    yayın tarihi: 19.03.2013

    Javascript'te yazarken, dizelerle çalışan yöntemlerin sözdizimini (ve sırayı, argümanların tanımını) açıklığa kavuşturmak için genellikle arama motorlarına başvurmak zorunda kalıyorum.

    Bu yazımda stringler ile ilgili en yaygın javascript metodlarının örneklerini ve açıklamalarını vermeye çalışacağım. En popüler yöntemler, kolaylık sağlamak için makalenin üst kısmında yer almaktadır.

    Dizeye dönüştür

    Bir sayıyı, mantıksal değeri veya nesneyi dizgeye dönüştürebilirsiniz.

    var numaram = 24; // 24 var myString = myNumber.toString(); // "24"

    Bunu string() işleviyle de yapabilirsiniz.

    var numaram = 24; // 24 var MyString = String(myNumber); // "24"

    Nicholas Zakas şöyle diyor: "Değerden (boş veya tanımsız) emin değilseniz, değişkenin türünden bağımsız olarak bir dize döndürdüğü için String() işlevini kullanın."

    Tanımsız değişkene herhangi bir değer atanmadığı anlamına gelir, a hükümsüz, - null değerinin atandığını (null'un boş bir nesne olarak tanımlandığı söylenebilir).

    Bir diziyi alt dizilere bölme

    Bir diziyi bir alt dizi dizisine bölmek için split() yöntemini kullanabilirsiniz:

    Var myString = "virgüllerde,ayrılmak,gelmek"; var substringArray = myString.split(","); // ["gelen", "ayrı", "at", "the", "virgül"] var arrayLimited = myString.split(",", 3); // ["gelen", "ayrılan", "en"]

    Son satırın gösterdiği gibi, ikinci isteğe bağlı bağımsız değişkenin değeri, döndürülen dizideki öğelerin sayısını belirler.

    Dize uzunluğunu al

    length özelliği ile bir dizideki unicode karakterlerin sayısını bulabilirsiniz:

    Var myString = "Olağanüstü bir karaktersin."; var stringLength = myString.length; // 25

    Bir dizede bir alt dize tanımlayın

    Bunu başarmanın iki yolu vardır:

    indexOf() işlevini kullanın:

    Var stringOne = "Johnny Waldo Harrison Waldo"; var neredesWaldo = stringOne.indexOf("Waldo"); // 7

    indexOf() yöntemi, bir dizede (dizinin başından itibaren) bir alt dize (geçirilen ilk bağımsız değişken) arar ve dizede alt dize oluşumunun başladığı ilk karakterin konumunu döndürür.

    lastIndexOf() işlevini kullanın:

    Var stringOne = "Johnny Waldo Harrison Waldo"; var neredesWaldo = stringOne.lastIndexOf("Waldo"); // 22

    lastIndexOf() yöntemi, dize içindeki son alt dizeyi araması dışında tamamen aynı şeyi yapar.

    Alt dize bulunamazsa, her iki yöntem de -1 döndürür. İkinci isteğe bağlı bağımsız değişken, dizede aramaya başlamak istediğiniz konumu belirtir. Bu nedenle, indexOf() yönteminin ikinci argümanı 5 ise, arama 5. karakterden başlayacak ve 0-4 karakter yok sayılacaktır. lastIndexOf() için, ayrıca ikinci bağımsız değişken 5 ise, arama geriye doğru başlar ve 6 ve üzeri karakterler dikkate alınmaz.

    Bir dizenin parçası nasıl değiştirilir

    Bir dizgenin bir kısmını (hatta tümünü) değiştirmek için replace() yöntemini kullanın.

    Var slugger = "Josh Hamilton"; var betterSlugger = slugger.replace("h Hamilton", "e Bautista"); console.log(betterSlugger); // "Jose Bautista"

    İlk bağımsız değişken, alt dizenin değiştirilecek kısmını içerir; ikinci argüman, değiştirilecek alt dizgenin yerini alacak dizgedir. Alt dizenin yalnızca ilk örneği değiştirilecektir.

    Bir alt dizenin tüm oluşumlarını değiştirmek için " g " bayrağıyla bir normal ifade kullanın.

    Var myString = "Otomotiv kıyısında otomotiv mermileri satıyor"; var newString = myString.replace(/otomotiv/g, "deniz"); konsol günlüğü(newString); // "Deniz kıyısında deniz kabukları satıyor"

    İkinci bağımsız değişken, değiştirilecek alt dizeyi veya işlevi içerebilir.

    Belirli bir konumda bir karakter bulun

    Belirli bir konumda hangi karakterin olduğunu bulmak için charAt() yöntemini kullanabilirsiniz:

    Var myString = "Tüy Kuşları"; var whatsAtSeven = myString.charAt(7); // "F"

    JavaScript'te genellikle olduğu gibi, ilk konum 1'den değil 0'dan sayılır.

    Alternatif olarak charCodeAt() yöntemini kullanabilirsiniz, ancak karakterin kendisi yerine kodunu alırsınız.

    Var myString = "Tüy Kuşları"; var whatsAtSeven = myString.charCodeAt(7); // "102" var whatsAtEleven = myString.charCodeAt(11); // "70"

    Büyük harf kodunun (konum 11) aynı harfin kodundan farklı olduğunu, ancak küçük harf (konum 7) olduğunu unutmayın.

    Javascript'te dizi birleştirme

    Çoğunlukla, dizeleri birleştirmek için (+) operatörünü kullanacaksınız. Ancak dizgeleri concat() yöntemini kullanarak da birleştirebilirsiniz.

    Var stringOne = "Knibb Lisesi futbolu"; var stringTwo = stringOne.concat("kurallar."); // "Knibb Lisesi futbol kuralları"

    concat() işlevine birden çok dize iletilebilir ve bunlar sonuç dizisinde concat() yöntemine eklendikleri sırayla görünürler.

    VarstringOne = "Knibb"; var stringTwo = "Yüksek"; var stringThree = "futbol"; var stringFour = "kurallar."; var finalString = stringOne.concat(stringTwo, stringThree, stringFour); console.log(sonDize); // "Knibb yüksek futbol kuralları."

    Bir dizenin parçası (javascript'te alt dizeyi çıkarın)

    Mevcut bir dizgiden bir alt dizginin bir kısmını "çekerek" yeni bir dizi oluşturmanın üç farklı yolu vardır.

    dilim() kullanarak:

    Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.slice(5, 10); // "fghij"

    substring() kullanarak:

    Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substring(5, 10); // "fghij"

    Her iki (slice() ve substring()) yöntemi için de, ilk argüman, alt dizginin başladığı (0'dan sayılarak) karakter konumudur, ikinci argüman, alt dizginin bittiği karakter konumudur. ikinci bağımsız değişken, döndürülen alt dizgede yer almıyor.

    substr() kullanarak:

    Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substr(5, 10); // "fghijklmno"

    substr yöntemi için ilk bağımsız değişken, alt dizenin başladığı karakter konumunu da belirtir. İkinci bağımsız değişken isteğe bağlıdır. Ancak aynı zamanda ikinci argüman, birinci argümanda zaten tanımladığımız konumdan başlayarak alt dizgiye dahil edilmesi gereken karakter sayısını belirtir. Bu teknik, yukarıdaki örnekte iyi bir şekilde gösterilmiştir.

    Javascript'te dizeyi küçük veya büyük harfe dönüştürün

    Gerekli dönüşümleri yapmak için dört yöntem vardır. Dize karakterlerini büyük harfe dönüştürmek için iki.

    Var stringOne = "Konuş, seni duyamıyorum."; var stringTwo = stringOne.toLocaleUpperCase(); // "YÜKSEK KONUŞ, SENİ DUYAMIYORUM" var stringThree = stringOne.toUpperCase(); // "KONUŞ, SENİ DUYAMIYORUM"

    Ve dizeyi küçük harfe dönüştürmek için iki:

    Var stringOne = "BAĞIRMAK ZORUNDA DEĞİLSİNİZ"; var stringTwo = stringOne.toLocaleLowerCase(); // "bağırmak zorunda değilsiniz" var stringThree = stringOne.toLowerCase(); // "bağırmana gerek yok"

    Genel olarak, bir yerel ayar yöntemi ile yerel olmayan bir yöntem arasında bir fark yoktur, ancak "karakter durumu Unicode sisteminin durumunu takip etmeyen Türkçe gibi bazı diller için yerel olmayan bir yöntem kullanmanın sonuçları farklı olabilir." Bu nedenle, aşağıdaki kuralı izleyin: "Kodun çalışacağı dili bilmiyorsanız, yerel yöntemleri kullanmak daha güvenlidir."

    Javascript'te desen eşleştirme

    Bir dizgede bir kalıbın varlığını 2 yöntem kullanarak kontrol edebilirsiniz.

    Dize nesnesinde match() yöntemi çağrılır ve match() yöntemine bağımsız değişken olarak bir normal ifade iletilir.

    Var myString = "Bir ağaç aynası ne kadar ağaç tutabilir"; var Desenim = /.ood/; var myResult = myString.match(myPattern); // ["ahşap"] var patternLocation = myResult.index; // 9 var originalString = myResult.input // "Bir ağaç aynası ne kadar ağaç tutabilir"

    RegExp nesnesinde exec() yöntemi çağrılır, dize bir argüman olarak iletilir:

    Var myString = "Bir ağaç aynası ne kadar ağaç tutabilir"; var Desenim = /.huck/; var myResult = myPattern.exec(myString); // ["ayna"] var patternLocation = myResult.index; // 27 var originalString = myResult.input // "Bir ağaç aynası ne kadar ağaç tutabilir"

    Her iki yöntem de ilk eşleşen oluşumu döndürür. Eşleşme bulunamazsa, NULL döndürülür. Normal ifadede " g " bayrağı varsa, sonuç olarak tüm eşleşmeleri içeren bir dizi döndürülür.

    Normal bir ifadeyi bağımsız değişken olarak alan ve eşleşen ilk kalıbın başlangıç ​​konumunu döndüren search() yöntemini de kullanabilirsiniz.

    Var myString = "Varsayın"; var patternLocation = myString.search(/ume/); // 3

    Eşleşme bulunamazsa, yöntem -1 döndürür.

    Sonraki sıralama için iki diziyi karşılaştırma

    Yerel ayarın sıralama düzenine göre iki dizeyi karşılaştırmak için localeCompare yöntemini kullanabilirsiniz. localeCompare yöntemi, üç olası değer döndürür.

    MyString = "tavuk"; var myStringTwo = "yumurta"; var whichCameFirst = myString.localeCompare(myStringTwo); // -1 (-2 döndüren Chrome hariç) whichCameFirst = myString.localeCompare("chicken"); // 0 hangiCameFirst = myString.localeCompare("elma"); // 1 (Chrome 2 döndürür)

    Yukarıda gösterildiği gibi, orijinal dizge dizge bağımsız değişkeninden önce sıralanırsa negatif bir değer döndürülür, dize bağımsız değişkeni orijinal dizgeden sonra sıralanırsa +1 döndürülür. null döndürülürse, iki dize eşdeğerdir.

    include() yöntemi, bir dizenin başka bir dize içinde bulunup bulunamayacağını belirler ve gerektiği gibi doğru veya yanlış döndürür.

    Söz dizimi: -string.includes(searchString[,position])

    searchString: - Bu dize içinde aranacak dize.

    pozisyon: -İsteğe bağlı. SearchString'i aramak için bu dizedeki konum; varsayılan 0.

    dize = "LOL"; console.log(string.includes("lol")); // false'u döndürür console.log(string.includes("LOL")); // doğru döndürür

    Bir açılır menüde ürün seçeneklerini gösteren bir alışveriş sepetim var ve "evet" seçeneğini seçerlerse sayfadaki diğer bazı alanları görünür yapmak istiyorum.

    Sorun şu ki, alışveriş sepeti ayrıca metinde her ürün için farklı olabilen bir fiyat değiştirici içeriyor. Aşağıdaki kod çalışır:

    $(document).ready(function() ( $("select").change(function() ( var str = $("seçeneği seçin:seçildi").text(); if (str == "Evet (+) $6,95)") ( $(".engraving").show(); ) else ( $(".engraving").hide(); ) )); ));

    Ancak, işe yaramayan böyle bir şey kullanmayı tercih ederim:

    $(document).ready(function() ( $("select").change(function() ( var str = $("seçeneği seçin:seçildi").text(); if (str *= "Evet") ( $(".engraving").show(); ) else ( $(".engraving").hide(); ) )); ));

    Yalnızca seçilen seçenek "Evet" kelimesini içeriyorsa ve fiyat değiştiriciyi yok sayıyorsa bir eylem gerçekleştirmek istiyorum.