Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Jim-Y
    veterán

    mind.blown.
    Nem tudom hogy lehetséges hogy ennyi idő után még csak most találkoztam ezzel. De tetszik hogy folyamatosan új és új dolgokkal tud meglepni ez a nyelv.
    angular.copy($scope.arr) szépen teszi a dolgát, köszönöm!
    JSON.parse(JSON.stringify($scope.arr)) szintén egy megoldás, bár kevésbé szép :)

    Amugy amit linkeltél jsfiddle példa, az mennyire komoly próbálkozás? Azért kérdem, mert szerintem lehetne ezt elegánsabban is csinálni, bár hozzáteszem, nem vagyok nagy angular guru. Mit akarsz elérni? :)

  • Jim-Y
    veterán

    mind.blown.
    Nem tudom hogy lehetséges hogy ennyi idő után még csak most találkoztam ezzel. De tetszik hogy folyamatosan új és új dolgokkal tud meglepni ez a nyelv.
    angular.copy($scope.arr) szépen teszi a dolgát, köszönöm!
    JSON.parse(JSON.stringify($scope.arr)) szintén egy megoldás, bár kevésbé szép :)

    Igen, sajnos a tömb és objektum duplikálásra nincsenek szép megoldások. A stringify + parse módszer amit mutattál akkor lehet problémás ha körkörös hivatkozás van a struktúrában, az angular.copy lassú és a elemenkénti másolással dolgozik (asszem). ES6-ban van Object.assign, vagy ott a spread operator, de az meg talán csak 1 mélységig működik. Tömbök másolására ott a .slice(), de az pedig ha a tömb elemei objektumok,mint a te esetedben is, akkor azokat nem másolja le hanem csak a referenciát másolja át. Nem egyszerű na, de hát minden nyelvben vannak kevésbé jó dolgok, így javascriptben is :)

    Amúgy ennek a "problémának" amivel most találkoztál semmi köze a javascripthez a legtöbb nyelv így működik, hogy vannak primitív érték szerinti tipusok és a referencia tipusok. Nincs ez máshogy JS-ben sem, ennyi :)

Új hozzászólás Aktív témák