paint-brush
JavaScript Some() Yöntemine Derin Bir Bakışile@iggy
2,074 okumalar
2,074 okumalar

JavaScript Some() Yöntemine Derin Bir Bakış

ile Ignatius Sani5m2023/07/05
Read on Terminal Reader
Read this story w/o Javascript

Çok uzun; Okumak

Some() yöntemi, en az bir dizi üyesinin verilen işlev tarafından tanımlanan testi karşılayıp karşılamadığını belirler. Belirtilen işlevin true değerini döndürdüğü dizide bir öğe bulursa true değerini döndürür; aksi takdirde false değerini döndürür. Bu bir yöntem olduğundan argümanları kabul eder ve bir diziyle yapabilecekleriniz konusunda size daha fazla esneklik sağlar.

People Mentioned

Mention Thumbnail
featured image - JavaScript Some() Yöntemine Derin Bir Bakış
Ignatius Sani HackerNoon profile picture
0-item
1-item

Bugün başka bir JavaScript dizi yöntemi olan some() yöntemine bakalım. some() yöntemini kullanarak bir öğenin dizide bulunup bulunmadığını nasıl belirleyeceğimizi öğreneceğiz.


Her zaman olduğu gibi bu makaledeki kod örnekleri JavaScript dilinde yazılmıştır. Bu nedenle, doğru anlamak için dil bilgisi gereklidir. Lafı daha fazla uzatmadan konuya girelim.


JavaScript some() yöntemi nedir ?

Javascript some() yöntemi, en az bir dizi üyesinin verilen işlev tarafından tanımlanan testi karşılayıp karşılamadığını belirler. Belirtilen işlevin true değerini döndürdüğü dizide bir öğe bulursa true değerini döndürür; aksi takdirde false değerini döndürür. Dizide herhangi bir değişiklik yapmaz.

Bu yöntemi daha iyi anlamak için bu kod parçacığını inceleyelim:


 const basket = ["oranges", "apples", "pineapple", "yam"] basket.some(bas => bas.length === 3) // true basket.some(bas => bas.length <= 1) // false


Sepet dizisindeki meyvelerden birinin uzunluğunun tam olarak 3'e eşit olup olmadığını test etmeye çalışıyoruz. En azından dizide bir üye bu teste uyuyor; bu durumda "yam"dır. Beklediğimiz sonuç doğru olacaktır. İkinci koşul, meyve uzunluğunun 1'den küçük veya ona eşit olup olmadığını kontrol eder. Bu yanlış sonuç verir çünkü açıkçası 1'den küçük veya ona eşit bir uzunluğumuz yoktur.



JavaScript some() yöntemini nasıl kullanırım ?

Javascript some() yönteminin kullanımı kolaydır; sana nasıl yapılacağını göstereyim.

Sözdiziminin nasıl yazıldığını anlayarak başlayalım.

Sözdizimi basitçe 'bazı' kelimesinin '()' parantezi içine alınmasıyla aşağıdaki gibi yazılır:

some()

Bu bir yöntem olduğu için argümanları kabul eder, bu da size some() yöntemini kullanarak bir diziyle yapabilecekleriniz konusunda daha fazla esneklik sağlar.


Bunlar aşağıdaki gibidir:

  1. Öğe
  2. Dizin
  3. Sıralamak


Öğe

element parametresi dizide işlenmekte olan geçerli öğeyi gösterir.

Dizin

İndeks, dizide işlenen geçerli öğenin yalnızca indeksidir.

Sıralamak

Bu, some() yöntemini çağırdığımız dizidir.

Artık sözdizimini anladığımıza göre, tam yöntemin neye benzediğine bakalım.


 some((element, index, array) => { /*... */ })


Gördüğünüz gibi, yukarıdaki kod parçacığında bu yöntemin nasıl oluşturulacağına dair net bir örnek sağlayan üç parametremiz var.

İhtiyaçlarınıza bağlı olarak belirli özellikleri atlamayı seçebilirsiniz. Dizine benzer şekilde, dizi hakkında daha fazla ayrıntı istiyorsanız onu seçeneklerden biri olarak sunabilirsiniz. Tüm kriterlerin her zaman dahil edilmesi gerekmez.



JavaScript some() yöntemini yazmanın üç yolu

Javascript yazmanın üç yaygın yolu şunlardır:

  1. Ok işlevi
  2. Satır içi geri arama işlevi
  3. Geri arama işlevi


Ok işlevi

Geleneksel işlevin karşılaştığı bazı sorunları çözmeye çalışan ok işlevi ES6'da tanıtıldı. Bu işlev aynı zamanda some() yöntemleriyle de kullanılabilir:


 some((element, index, array) => { /*... */ })


Satır içi geri arama işlevi

Geri çağırma fonksiyonunu bir değişkene kaydetmeden some() yönteminde yazma yeteneğine sahibiz.


 const basket = ["oranges","apples","pineapple","yam"] const result = basket.some(function (element, index, array)) { return element.length >= 7 }) console.log(result)


Geri arama işlevi

Bu stil, önce işlevin bildirilmesi ve bir değişkende saklanması, ardından bunu some() yöntemine geri çağrı olarak iletilmesiyle yazılabilir:


 const basket = ["oranges","apples","pineapple","yam"] function callBack(bas){   return bas.length === 7 } const result = basket.some(callBack) console.log(result)



Kullanım örnekleri

  1. Form girişlerini doğrulama
  2. bir öğenin varlığını doğrulamak
  3. Yetkilendirme ve erişim kontrolü


form girişlerini geçerli kılma

Form gönderimlerini işlerken, hangi giriş alanlarının belirli gereksinimleri karşıladığını belirlemek için some() işlevi kullanılabilir. Örneğin, herhangi bir girişin geçerli e-posta adresleri içerdiğini veya en az bir zorunlu alanın doldurulduğunu doğrulayabilirsiniz.

Bunun nasıl görünebileceğine dair size bir örnek vereceğim.


 const formInputs = document.querySelectorAll('input'); const isAnyInputEmpty = Array.from(formInputs).some(input => input.value === ''); if (isAnyInputEmpty) {   console.log('Please fill in all required fields.'); } else {  console.log('Form submitted successfully.'); }


Kod örneğinde kullanıcının boş alan göndermemesini sağlıyoruz; Boş bırakırlarsa hemen bilgilendirmek istiyoruz. En azından ilgili verileri göndererek gereklilikleri karşılıyorlarsa, gönderimi biz gerçekleştirmek istiyoruz.


Bir öğenin varlığını doğrulama

Web uygulamamızda bir ürün sepetimiz veya veri yapımız varsa, belirli bir ürünün mevcut olup olmadığını belirlemek için some() işlevini kullanabiliriz. Bu, özellikle bir öğenin mevcut olup olmadığına bağlı olarak belirli eylemleri gerçekleştirmek istediğimizde faydalıdır. Bunu daha iyi açıklayan bu kod örneğine bir göz atalım.


 const shoppingCart = ['shoes', 'T-shirt', 'trouser']; const itemPresent = shoppingCart.some(item => item === 'trouser'); if (itemPresent){ console.log('Product exists in the cart.') } else { console.log('Product does not exist in the cart.') }


Alışveriş sepetinde 'pantolon' olup olmadığını kontrol ediyoruz. Sepette olduğunu doğruladığımızda konsola giriş yapıyoruz.


Yetkilendirme ve erişim kontrolü

Kullanıcı kimlik doğrulama ve yetkilendirme sistemlerini uygularken, bir kullanıcının en az bir gerekli izne sahip olup olmadığını veya belirtilen rollerden herhangi birine ait olup olmadığını kontrol etmek için some() işlevini kullanabiliriz. Bu, belirli işlevlere veya kaynaklara erişimi kontrol etmemizi sağlar.


 const userRoles = ['admin', 'editor']; const permissions = ['admin', 'moderator']; const hasRequiredRole = permissions.some(role => userRoles.includes(role)); if (hasRequiredRole){ console.log('Access granted.') } else { console.log('Access denied.'); }


Kod örneğinde, kullanıcının rollerine göre izinler vermek için include() ve some() yöntemlerinin kombinasyonunu kullandık. Bir kullanıcının rolü gerekli izne uygunsa ona erişim izni veririz; aksi halde erişimlerini reddederiz.



Paket servis

Son olarak, koşulları test etmek için javascript some() yöntemi kullanılır. Orijinal diziyi değiştirmez. Üç parametreyi kabul ederler: element, Index ve dizi'; burada element parametresi dizide işlenmekte olan geçerli öğeyi belirtir ve index parametresi dizide işlenen geçerli öğenin "indeksini" gösterir.


JavaScript'in dizi yöntemine, özellikle de some() yöntemine ilişkin incelememi okuduğunuz için teşekkür ederim. Açıklama hakkında ne düşünüyorsunuz? Deneyecek misin?


Aşağıdaki yorumlarda düşüncelerinizi bana bildirin ve gelecekteki makaleler için lütfen beni HackerNoon'da takip edin .