Javascript Linkedlist Sorunu
-
Ordaki amaç Mesela silinecek veri en baştaki veri ise. Onu listeden cıkarmak için en baştakinden bir sonrakini baş olarak alırsam eski bas objeyi listeden kaldırmış olurum ? Mantığı öyle kurdum ama === i php de kullanıyordum sadece JavaScript'de var olduğunu bilmiyordum uyarın için teşekkür edeyim dediğini bir yapayım
-
Javascripte bir değişkene null değer atamadığın sürece null değer vermez.
var degisken=null;
dediğin zaman degiskene null deger atarsın. Bunun dışında değişken ilk tanımlandığında otomatik olarak null değer almaz. null özel bir nesnedir.
Bunun için değer atanmamış nesnelerin tipleri 'undefined' mi diye bakman gerekiyor.
if(typeof(degisken) !== 'undefined' ) {
}
Bunun gibi bir yapı işini görebilir.
Ayrıca
alert(typeof Bas.Sonraki);
hangi değeri veriyor. Kodların çalışan halini bir yere atsan ordan daha iyi bakardık.
-
Fiddle ;
https://jsfiddle.net/sfvoxu9s/
-
yardımımız oldu mu, doğrumuymuşuz ?
-
Kvasir ,
Kodu şu şekilde değiştirdim hocam teşekkürler :)
function (KullaniciAdi) { var Etkin=this.Bas; if(this.Uzunluk===0) { return; } if(Etkin.KullaniciAdi.toLowerCase()===KullaniciAdi.toLowerCase()) { this.Uzunluk--; $(Etkin.KullaniciDiv).remove(); this.Bas=Etkin.Sonraki; }else{ var OncekiKullanici = this.Bas; var SimdikiKullanici = OncekiKullanici.Sonraki; while (SimdikiKullanici) { if (SimdikiKullanici.KullaniciAdi.toLowerCase() === KullaniciAdi.toLowerCase()) { $(SimdikiKullanici.KullaniciDiv).remove(); OncekiKullanici.Sonraki = SimdikiKullanici.Sonraki; SimdikiKullanici = SimdikiKullanici.Sonraki; this.Uzunluk--; break; } else { OncekiKullanici = SimdikiKullanici; SimdikiKullanici = SimdikiKullanici.Sonraki; } } } };
-
MhmdAlmz bunu yazdı
Kvasir ,
Kodu şu şekilde değiştirdim hocam teşekkürler :)
function (KullaniciAdi) { var Etkin=this.Bas; if(this.Uzunluk===0) { return; } if(Etkin.KullaniciAdi.toLowerCase()===KullaniciAdi.toLowerCase()) { this.Uzunluk--; $(Etkin.KullaniciDiv).remove(); this.Bas=Etkin.Sonraki; }else{ var OncekiKullanici = this.Bas; var SimdikiKullanici = OncekiKullanici.Sonraki; while (SimdikiKullanici) { if (SimdikiKullanici.KullaniciAdi.toLowerCase() === KullaniciAdi.toLowerCase()) { $(SimdikiKullanici.KullaniciDiv).remove(); OncekiKullanici.Sonraki = SimdikiKullanici.Sonraki; SimdikiKullanici = SimdikiKullanici.Sonraki; this.Uzunluk--; break; } else { OncekiKullanici = SimdikiKullanici; SimdikiKullanici = SimdikiKullanici.Sonraki; } } } };
peki bu teşekkürü veya en azından "yaptım, oldu"yu biz dürtmeden diyemiyormusun da dönüp dönüp bakıyoruz işin çözülmüş mü diye...
-
kvasir bunu yazdıMhmdAlmz bunu yazdı
Kvasir ,
Kodu şu şekilde değiştirdim hocam teşekkürler :)
function (KullaniciAdi) { var Etkin=this.Bas; if(this.Uzunluk===0) { return; } if(Etkin.KullaniciAdi.toLowerCase()===KullaniciAdi.toLowerCase()) { this.Uzunluk--; $(Etkin.KullaniciDiv).remove(); this.Bas=Etkin.Sonraki; }else{ var OncekiKullanici = this.Bas; var SimdikiKullanici = OncekiKullanici.Sonraki; while (SimdikiKullanici) { if (SimdikiKullanici.KullaniciAdi.toLowerCase() === KullaniciAdi.toLowerCase()) { $(SimdikiKullanici.KullaniciDiv).remove(); OncekiKullanici.Sonraki = SimdikiKullanici.Sonraki; SimdikiKullanici = SimdikiKullanici.Sonraki; this.Uzunluk--; break; } else { OncekiKullanici = SimdikiKullanici; SimdikiKullanici = SimdikiKullanici.Sonraki; } } } };
peki bu teşekkürü veya en azından "yaptım, oldu"yu biz dürtmeden diyemiyormusun da dönüp dönüp bakıyoruz işin çözülmüş mü diye...
az önce yaptım başka bi sorun daha var onu halletmeye calısıyorum sen post atınca aklıma geldi bu sorun :/