SORU
28 ŞUBAT 2009, CUMARTESİ


Nasıl Javascript Nesneleri bir Dizi klon musun

...her nesne de aynı dizi içinde diğer nesnelere başvurular var mı? Ben ilk bu sorun ile geldiği zaman sadece bir şey gibi

var clonedNodesArray = nodesArray.clone()

ki var ve javascript nesneleri klonlama hakkında bilgi almak için aradım. StackOverflow üzerinde question buldum (aynı John Resig tarafından Cevaplanan) ve jQuery ile yapabilirsin dikkat çekti

var clonedNodesArray = jQuery.extend({}, nodesArray);

bir nesneyi klonlamak için. Bu sadece kopya dizideki nesnelerin referansları olsa da bunu denedim. Yani eğer

nodesArray[0].value = "red"
clonedNodesArray[0].value = "green"

nodesArray[0] ve clonedNodesArray[0] her iki değeri olacaktır "". yeşil Sonra da çalıştım

var clonedNodesArray = jQuery.extend(true, {}, nodesArray);

bir Nesne, ama var olan "çok fazla özyinelemeem " ve "yığın taşması kontrolü" de Firebug ve Opera Dragonfly mesajları sırasıyla.

Bunu nasıl yapardın? Bu hatta olmaması gereken bir şey mi? Javascript ile bunu yeniden bir yolu var mı?

CEVAP
9 Kasım 2010, Salı


Eğer ihtiyacınız olan tüm sığ bir kopya ise, gerçekten kolay bir yoludur:

new_array = old_array.slice(0);

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • boogie2988

    boogie2988

    6 NİSAN 2006
  • Moto Journal

    Moto Journal

    28 Mayıs 2007
  • The10HourMan

    The10HourMan

    28 EYLÜL 2012