Bu blog için, Array Chunk olan başka bir popüler problemin üzerinden geçeceğim. Bu sorunu çözmek için JavaScript kullanacağımı unutmayın!
Sorun bize, argüman olarak bir dizi ve yığın boyutunu (tamsayı) tutan bir işlev oluşturmamız gerektiğini söylüyor. Bu işlevin amacı, dizileri yığın boyutuna bağlı olarak alt dizilere bölmektir.
6–10Yukarıdaki ekran görüntüsünü oluşturan satırlardan örnekler, bu işlev için girdi ve çıktıların ne olması gerektiğini göstermede harika bir iş çıkarır. İlk örneğe göre, 4
[[1,2], [3,4]]uzunluğunda bir dizimiz var ve parça boyutu 2'dir. Çıktı, alt dizilerin uzunluğunun parça boyutuyla aynı olması gerektiğidir.
Bu probleme başlamanın ilk adımı, bize alt dizileri verecek yeni bir dizi yaratmamız gerektiğini kabul etmektir. Kodun şu ana kadar nasıl görünmesi gerektiği aşağıda açıklanmıştır:
Bir sonraki adım,
arraydizideki her bir öğeyi kontrol etmek için yinelememiz gerektiğini bilmektir . Bu işlevin amacının bir diziyi yığın boyutuna (
size) göre bölebilmek olduğunu unutmayın . Bu problem
for ofiçin, yineleme için bir döngü ifadesi kullanacağım . Bu
for of döngünün içinde, içindeki son elemanı alan bir değişken oluşturmak istiyorum
newArray. Kod şu ana kadar şöyle görünüyor:
Bu noktada,
lastNumberşu anda
undefinediçinde
newArrayhenüz hiçbir unsur olmadığı için . Değerini değiştirmek için
lastNumberbir koşullu yaratmamız gerekir. Eğer
lastNumberyoksa veya uzunluğu
lastNumberöbek boyutuna (
size) eşitse , içinde yinelenen
newArraygeçerli sayı (
number) ile içine yeni bir öbek eklemeliyiz
array. Varsa
lastNumberve uzunluk eşit değilse, içine
sizeeklememiz gerekir .
number
lastNumber
Bu açıklamayı ilk başta anlamak zor olabilir, ancak daha iyi görseller için kod şu şekilde görünüyor:
Bu problemin son adımı
newArray,
for ofdöngü bittikten sonra geri dönmektir . İşte tam çözüm:
Satırlardan örnekler kullanırken çıktıların nasıl görünmesi gerektiği aşağıda açıklanmıştır
28–31:
Çözümün düzgün çalıştığından emin olmak için farklı test senaryoları kullanmak her zaman en iyi uygulamadır. Bu soruna daha iyi çözümler varsa ulaşmaktan veya bu bloga yorum bırakmaktan çekinmeyin!
for ofİfadeler ve Diziler hakkında daha fazla bilgi için aşağıdaki kaynaklar bölümüne göz atmayı unutmayın!
Giriş Kısa bir süre önce Keystone.js CMS'ye dayalı bir sistem üzerinde çalışıyordum.
NGINX Sunucu Güvenliğinizi nasıl güvence altına alacağınıza dair kısa bir kılavuz, giderek daha önemli hale geliyor. Modern yazılımlar, güvenli yazılım geliştirmemize yardımcı olma konusunda giderek daha iyi hale geliyor, ancak çoğunlukla ürünlerimiz için daha fazla güvenlik elde etmek için ekstra çaba sarf etmemiz gerekiyor.
Bu makalenin bir okumasını dinleyin: ❖ Tüm yaşamları boyunca çok önemli bir şey hakkında yanlış yönlendirilmiş kahramanlar hakkında hikayeler nesillerdir kültürümüzde ortaya çıkıyor ve bu güne kadar gişede izleyicileri memnun etmeye devam ediyor. Yoksul gerçekten bir prensti.
Abha'da spor aktiviteleri için bir deneyim tasarlayalım! Programın neredeyse yarısına geldik ve 3. proje zamanı geldi! Yalan söylemeyeceğim bu proje şimdiye kadar yaptığım en bunaltıcı, stresli ama eğlenceli proje olabilir. Başlamak için, güzel Abha şehrinde spor aktiviteleri için bir deneyim tasarlamak olan meydan okumamızla tanıştık.
Bazen, Morgan Stanley'de çalışırken, bir çarşamba günü en iyi arkadaşınla yatmak isteyen Dalton adında bir adamla sarhoş olursun. Continental'den çıkıp St.
Bu gönderi, DFINITY ekibinin merkezi olmayan bulut vizyonunu ve bunun geleneksel blok zinciri ve Amazon Web Servisleri gibi mevcut bulut sağlayıcılarıyla ilişkisini araştırıyor. Büyük ölçekli bir ağ tarafından uygulanan DFINITY teknolojisinin gösterimleri 2017 sonbaharında yapılacak ve bunu, 2018 yazının başlarında piyasaya sürülmesi beklenen “açık bulut” ağıyla kâr amacı gütmeyen vakıf için bir Ana bağış toplama izleyecektir. .