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

  • GamingAndTech

    GamingAndTec

    16 NİSAN 2013
  • InfoPuppet

    InfoPuppet

    15 Kasım 2011
  • RyanXLT

    RyanXLT

    22 Ocak 2011