SORU
29 Ocak 2012, Pazar


JavaScript dizi seçme son eleman

Gerçek zamanlı olarak, kullanıcının konumu ve yol güncellemeleri ve bir Google Harita üzerinde bu görüntüler bir uygulama yapıyorum. Birden çok kullanıcının aynı anda her saniye güncellenen bir nesne kullanarak kontrol sağlayan işlevi var.

Şimdi, ne zaman bir kullanıcı bir düğmeye basıldığında bu Android uygulaması, koordinatlar gönderilen bir veritabanı ve her zaman yerini değiştirir, bir işaretleyici bulunmaktadır haritada (ve bir çizgi oluşuyor).

Birden fazla kullanıcı var bu yana, her kullanıcı için kişisel bir yol görüntüleyebilir ve rastgele oluşturulmuş benzersiz bir alfasayısal dize gönderiyorum. JS veritabanından bu verileri çeker, eğer kullanıcı varsa kontrol eder, eğer öyle değilse, bu değeri bir liste ile yeni bir anahtar oluşturur. Bu gibi bir şey olurdu:

loc = {f096012e-2497-485d-8adb-7ec0b9352c52: [new google.maps.LatLng(39, -86),
                                              new google.maps.LatLng(38, -87),
                                              new google.maps.LatLng(37, -88)],
       44ed0662-1a9e-4c0e-9920-106258dcc3e7: [new google.maps.LatLng(40, -83),
                                              new google.maps.LatLng(41, -82),
                                              new google.maps.LatLng(42, -81)]}

Ne yaptığımı kullanıcının KİMLİĞİ olan anahtar değeri olarak koordinatları listesini saklamak. Benim program her zaman yeri Listesi (Bu düzgün çalışır) ekleyerek değiştirilir bu listeyi güncellemeye devam ediyor.

Ne yapmam gerektiğini işaretçinin konum konum değişiklikleri her zaman güncelleme. Bu son konum olabilir, çünkü dizideki son öğe seçerek bunu yapmak istiyorum. Şu anda, her zaman yerini değiştirdi yeni bir marker eklenir göster (her bir puan örnek göster bir işaretleyici de bu konuma) işaretleri devam eklenecek.

(X loc)` ifadesi her zaman konum güncellemeleri listeden son yeri kapmak ve bu marker güncelleştirmek için kullanmak istiyorum. Nasıl karma içinde diziden bu son elemanı seçer?

CEVAP
29 Ocak 2012, Pazar


Nasıl bir dizinin son elemanı erişmek için

Bu gibi görünüyor:

var my_array = /* some array here */;
var last_element = my_array[my_array.length - 1];

Senin durumunda bu gibi görünüyor:

var array1 = loc['f096012e-2497-485d-8adb-7ec0b9352c52'];
var last_element = array1[array1.length - 1];

ya da, yeni değişkenler oluşturma olmadan uzun versiyonu,:

loc['f096012e-2497-485d-8adb-7ec0b9352c52'][loc['f096012e-2497-485d-8adb-7ec0b9352c52'].length - 1];

Nasıl daha basit almak için bir yöntem eklemek için

Eğer fonksiyonlar oluşturmak için bir hayranı iseniz, bu tür görevler, aşağıdaki kodu yerine getirmek için kısayollar:

if (!Array.prototype.last){
    Array.prototype.last = function(){
        return this[this.length - 1];
    };
};

dizi çağırarak bir dizinin son elemanı almak için izin verir 11* *yöntem, senin durumunda (örn.:

loc['f096012e-2497-485d-8adb-7ec0b9352c52'].last();

Burada çalışıp çalışmadığını kontrol edebilirsiniz: http://jsfiddle.net/D4NRN/

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • HER0R

    HER0R

    16 Aralık 2007
  • TantalizingTrance

    TantalizingT

    15 ŞUBAT 2009
  • TechRax

    TechRax

    21 EYLÜL 2009