Ve bu video, bu dizi sorununa sıfırdan başlayarak çözümler üretmeye devam edeceğim.
İlk elimizde baskı yönlendirmeleri var.
Bu yüzden başlamadan önce.
Ve dosyalarımı düzgün ayarladığımda zaten yaşlanmış bir dosyam var.
Ben sadece HMO bu çözüm denir.
JS çözümüne eşit bir komut dosyası etiketi ekleyeceğim ve o dosyayı yaratmam gerekiyor.
O halde bu çözümü saklayalım.
Evet.
Ve her zamanki gibi benim konseyle başlamak istiyorum ama bağlantı kurmak istiyorum.
Hadi gidelim.
Bunu tarayıcıda açın.
Konsolu açın ve bağlandığımızı görüyoruz.
Tamam.
Öyleyse baskı tersiyle başlayalım.
Dolayısıyla baskı tersi bir işlevdir.
Bu nedenle, tek bir argüman ve dizi alan print revers işlevi tanımlanarak başlayacağım.
Buna sadece rr diyeyim ve tek yapmamız gereken dizi boyunca dönmek.
Ancak, dizinin sonundan geriye doğru döngüye başlamak istiyoruz ve biz sadece var
logunu her öğeyi çağıracağız.
Dolayısıyla burada bir foreach ideal olmayacak.
Listeyi dolaştıracak sıraya göre biraz daha esnek olan bir for döngüsü kullanacağız.
Yani var için sıfırdan başlamak yerine dizinin sonunda başlayacağız.
Yani var eşittir dizi eksi 1 gibi değil ve eksi 1 eklemek zorunda çünkü uzunluğu her zaman
en büyük dizin bir büyüktür.
Yani biraz aralıklı.
Sonra devam edeceğiz.
Ben sıfıra eşit olmakla birlikte.
Ve son olarak eksi eksi gidiyoruz.
Bu yüzden de başlayacağım.
Bu dizinin 3 6 - 5 baskı tersi durumunda, üç olacak bu dizinde başlayacağım ve 5 çıktısını alırsam log
dizisini yazdıracağım ve sonra 1'den çıkarsam ve çıktısıysam bir dizi bize 2, sonra 6
ve sonra 3 ve en son girilen süre sıfır olur.
Böylece üçünü basarız ve sonra işimiz bitti.
O halde bir göz atalım.
Bu baskıyı, bu diziyle ilişkili olarak adlandıracağım.
Tarayıcıda çalıştırın ve beklediğimiz şey olan 5 ila 6 ve 3'ü elde ettiğimizi görebilirsiniz.
Beş altı ve üç.
Bir sonraki soruna geçelim.
Bir sonraki problem, bir diziyi bir argüman olarak tekrar kabul eden ve doğru döndüren üniformadır.
Ancak tüm unsurlar aynıysa.
Bu yüzden sadece bir üniforma başladığına dair bir not yazarak başlayacağım çünkü bu dosyanın sonu
bu dosyanın dolması demek.
Bu yüzden sadece netleştirmek istiyorum.
Şimdi işlevi tekdüze olarak tanımlayarak başlayalım ve tek bir dizi alacağız.
Bu yüzden çözeceğim şekilde bir değişkeni ilk maddeye eşit hale getireceğim.
Bu durumda 1 ve sonra dizi boyunca döngüye gidip, ilk öğeyi diğer her öğeye
kıyasla ve eğer herhangi bir noktada aynı değillerse, yanlış döndürüp yalnızca tüm
işlevi sonlandıracağım. .
Ama bunu sonuna kadar yapmak, her maddenin aynı olduğu anlamına gelir.
Böylece doğruyu geri verebiliriz.
Bu yüzden, ilk değişkeni var ilk önce eşeye eşit yaparak başlayacağım.
Ardından dizi boyunca döneceğim.
Bu yüzden for döngüsünü burada kullanacağım ve bundan sonra açıklayacağımız bir foreach kullanmadığımın
bir nedeni var.
Dolayısıyla, Array'ın artı artı hoşlanmadığı döngülere başlayacağım ve yalnızca yüksekliğin
ilkle eşit olup olmadığını kontrol edeceğim.
Bu, dizimizin tekdüze olmadığı anlamına geliyor.
Bu yüzden yanlış döndürürüm.
Ardından, dizinin sonuna doğru, tüm döngüye geçersek doğruyu döndürebilirim.
Burada bir küçük optimizasyon var şu anda ilk öğe dizilerini sıfıra ilk
öğeyle karşılaştırıyorum.
Döngü boyunca ilk kez.
Başlarsam 0 yazar ve kontrol edersem, satır ilkle eşit olur.
Bu yüzden bunu yapmak istemiyorum.
Ben sadece indeks 1'de başlayacağım.
Test yapalım.
Sayfamızı yenileyin dizi 1 1 1 'in üniformasıdır.
Bu doğru.
Ama ne dersin 1 1 2.
Bu yanlış ve ikisi gitti.
Bu da yanlış.
TAMAM.
Bu yüzden her biri için bir tane kullanmak istemediğimi belirttim.
Ve bunun arkasındaki nedeni, bir foreach yorumu yazdıysam ve bunun için bir
for döngüsü yerine burada her bir işlev için kırmızı bir nokta yaptım ve öğeyi çağırıyorum ve öğenin İlk'e
eşit olup olmadığını
kontrol edeceğim Sahte döndürürüm.
For döngüsü yerine bir foreach ekledikçe, bu tamamen aynı mantık.
Bir sorunumuz var ve sorun şu ki burada yanlış döndüğümde bu sadece
burada bulunan ilk işleve dönüyor.
Bu nedenle, üniformasının tamamından çıkmıyor ve ilk fonksiyonun dışına çıkarak bizi bu seviyeye getiriyor
ve ardından sadece doğru olan bir sonraki satırı çalıştırıyor.
Dolayısıyla, burada bir işle uğraşmak yerine, yalnızca for döngüsünü kullanacağım çünkü çok
daha basit ama sorunun ne olduğunu anlamanızı istiyorum.
Yani bunu özetlemek için tek bir işlev yerine dönüyorum.
Sadece bir katmanı soyar, böylece yalnızca o tam işleve geri döner ve
içindeki bir sonraki işlevi yine de yürütmeyi tamamlar.
Bu yüzden ben bunlardan biriyle geleceğim ve bunu gerçek çözüm olarak bırakalım.
Sırada sıra var.
Dolayısıyla bazı diziler tek bir diziyi alır ve dizinin içindeki her maddeyi toplar.
Bu yüzden bazı dizilimle başlayacağım ve bazı dizinin tek bir diziyi aldığı işlevi ilan
etmeye çalışacağım.
Ve bu durumda toplamı tutacak bir değişken yapmamız lazım.
Ardından, dizinin tamamında dolaşıp toplamı eklemeliyiz.
Dolayısıyla değişkenim toplamı sıfıra eşit olarak başlayacağım.
Ve sonra her biri için yapacağım.
Her biri için dizi.
Ve sadece normal bir döngü yapabilirim ve bu elemanı arayacağım
ve her seferinde toplamı ekleyeceğim.
Böylece toplam artı öğelere eşittir.
Ve sonra son dönüş toplamı ve yapmam gereken tek şey bu.
Bu nedenle dizi üzerinden toplam sıfır döngüsüne başlayın, her elemanı alın ve toplama ekleyin ve ardından toplamı en
sonunda çıkarın.
Test yapalım.
Dizi üzerinde bir dizi yapmayı deneyelim.
Bir iki üç ve altı alıyorum.
Ve 10 10 10'a ne dersin ve 30 alırsın.
Tamam, o zaman bu bir dizi.
Burada sonuncusu sayı dizisinde max öğesini belirlemektir.
Bu yüzden önce yorumlarımı ekleyeceğim.
Max üzerinde çalışacağız ve önce bu işlevi tanımlayacağım.
olarak ilk öğe olarak başlayacağımız ve sonra her diğer öğe ve mevcut maksimum karşılaştırmak.
Yani Max işlevi tek bir diziyi tekrar alır ve burada mantık maksimumu takip
etmek için bir değişkene sahip olduğumuz ve yalnızca varsayılan
Ve şimdiki maksimum değerden daha büyükse, bu değer yeni maksimum değerimizdir.
Ve sonra onu sonuna kadar geri getireceğiz.
Bu yüzden var Max eşdeğerleri dizisi 0'a başlayacağım ve sonra dizi boyunca döngü gidereceğim ve sadece çeşitli uğruna
bir for döngüsü kullanacağım.
Yani var için sıfıra eşit.
Ve aslında 1'de başlayabilirsiniz.
Aynı nedenden dolayı zaten bir oran kullanıyoruz, bunları 1'de başlatabiliriz.
Böylece 1 4 sıfıra eşit olarak başladım.
Elimde bir radar bağlantısı artı artı var.
Ve tek istediğim, dizinin olup olmadığını kontrol etmek.
Bireysel eleman maksimumtan büyükse, Max şimdi Array'e eşittir.
Dolayısıyla bu, yeni bir maksimumla karşılaşırsa değerini sürekli olarak değiştirir veya potansiyel olarak değerini değiştirecektir.
Dolayısıyla bu alıştırmada başında bir iki üç tane var.
Biri maksimum.
Ve sonra döngüden geçiyoruz ve ikisi ile karşılaştırıyoruz.
İki kişi birden büyüktür.
Yani yeni maksimum iki değerdir.
Ve bu tekrarların üçü ikiden fazladır.
Dolayısıyla üç yeni bir maksimum ve kaybettiğimiz son satır, bir kez döngü
tamamlandığında Max'i döndürüyoruz.
Ve gitmek için ne iyi olmalı.
Bu yüzden yenilemeyi deneyelim ve max'i 1 2 3'te çalıştırmayı deneyelim ve üçümüzü alalım.
Şimdi ortada 20 eklemeyi deneyelim ve 20 olsun.
Ve son olarak, negatif bir sayı ile oynamaya ve işe yarayıp yaramayacağına emin olalım.
Ve hala 20 dolar alacağız.
TAMAM.
Yani burada dört çözümümüz var.
Hepsinin bir kısmı ve bir kısmı için kullandığımız bir halkayı kullanmaları gerekiyordu.
Bir for döngüsü kullandık ve bazıları ve hepsi de.
Bir yarış pratiği yapıyoruz.
Muhteşem.
Bir sonraki veri yapımız ve nesne olan javascript'ler hakkında bilgi edineceğiz.