19 Ağustos 2013 Pazartesi

Jquery Dizileri Karşılaştırma (2 dizinin farklı elemanlarını bulma)


--Basın Açıklaması--

Geçtiğimiz günlerde tarafıma, yazılarımı özgürce yazmama engel olmak için bir komplo kurulduğu malumunuzdur. Ancak bu komploya yenilmeyip canım istedikçe canımın istediğini yazacağım "cinioyuna" duyurulur.

imza= :P

( Sadece espri YK ;) )
--

Vay arkadaş.. 2 haftayı aşıyor bir işi bitiremedik :) Sadece chatleşecektik. kulağa ne basit geliyor, ki aslında öyle de..

Ama bunu yapmayı deneyenler iki junior insanı olunca ve soru sormamıza hemen gözlerini kısan bir yazılım müdürü olunca haliyle uzun sürüyor, basit yerlerde takılınıyor, bazen mantıksız mantıklar yürütülüyor :) o da haklı, sonuçta sorduğumuz sorular çok basit geliyor olmalı. Neyse, sorularımızı bağrımıza basıp elimizden geldiğince birşeyler yapmaya çalışıyoruz işte, böyle böyle düşe kalka öğreneceğiz :)

Yine o basit takılınmış yerlerden birindeydik. Jquery de iki diziyi karşılaştırıp farklı elemanlar için yeni chat penceresi oluşturacaktık. Aaa ben bunu biryerden hatırlıyordum. önceki postumu açtım hemenn, intersecti ve excepti deneyelim dedik. Ama Jquery yle uzaktan bakışıp selamlaşıyor olsak da çok bir samimiyetim yoktu.. Araştırdık bu kodları, Jquery de kullanımlarını bulduk, ama o gün basiretimiz mi bağlanmış derler, çözümü bulmamıza rağmen sonuca ulaşamadık. Tıkanınca tıkanılıyor :) Ertesi iş günü ilk işimiz bunu halletmek oldu; basitçe çözdük ve biz nasıl geçen gün bunu çözemedik diye hayıflanmak da ikinci işimiz oldu haliyle :D Daha çok işimiz var tabi ama bu kısmı yazmış olayım..


  • Kodumuz şöyle;


var array1 = [1, 2, 3, 4, 5, 6];
var array2 = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var difference = [];

jQuery.grep(array2, function(el) {

    if (jQuery.inArray(el, array1) == -1) difference.push(el);


});


alert(" the difference is " + foo);


  • Site şöyle;


http://stackoverflow.com/questions/10927722/jquery-compare-2-arrays-return-difference



  • Kullanımımız şöyle;


var windowArray = [];
for (var i = 0; i < windowsLength; i++) {

     var window = windows[i];
     var windowId = $(window).attr("id");

     windowArray.push(windowId);
}

var dataArray = [];
for (var i = 0; i < dataItems; i++) {

    dataArray.push(d[i].MessageGroupId);
}

var difference = [];
jQuery.grep(dataArray, function (el) {

var control = jQuery.inArray(el, windowArray);

 if (control === -1) difference.push(el);
 });

 for (var i = 0; i < difference.length   ; i++) {
      for (var i = 0; i < d.length   ; i++) {
          if (d[i].MessageGroupId === difference[i]) {

              OnlineChat.ChatWindow(d[i].MessageGroupId, windowUserId,"Konuşma", d[i].GroupUserIds);
                                    }
                                }

                            }


  • Can sıkıntım ise şöyle böyle değil.. 

Hiç yorum yok:

Yorum Gönder