javascript - copie approfondie et affectation de l'objet js
扔个三星炸死你2017-07-05 11:04:38
0
4
936
Dans le code, un tableau arr=[1,2,3] est obtenu ; Comme il sera détruit immédiatement, il ne peut pas être directement affecté à l'objet Obj.a. Comment écrire jquery dans ce cas pour que Obj .a= après la destruction de l'arr ? [1,2,3] ?
En général, il est rare de rencontrer "destroy" en JS. Alors, je ne comprends pas ce que tu entends par destruction immédiate ?
S'il s'agit de delete arr, alors il n'y a aucun problème avec l'affectation directe, comme indiqué ci-dessous :
Si tu veux changer arr 的内容。那么可以复制一个数组(有几种方法,concat Ce n'est qu'un d'entre eux)
Obj.a = [].concat(arr);
Si vous avez vraiment besoin d'une copie complète, jQuery.fn.clone(), mais cela semble avoir certaines restrictions.
Pour les autres données, il est encore un peu difficile et gênant d'écrire soi-même une copie complète. Il est préférable d'utiliser le cloneDeep() de Lodash
En général, il est rare de rencontrer "destroy" en JS. Alors, je ne comprends pas ce que tu entends par destruction immédiate ?
S'il s'agit de
delete arr
, alors il n'y a aucun problème avec l'affectation directe, comme indiqué ci-dessous :Si tu veux changer
arr
的内容。那么可以复制一个数组(有几种方法,concat
Ce n'est qu'un d'entre eux)Si vous avez vraiment besoin d'une copie complète, jQuery.fn.clone(), mais cela semble avoir certaines restrictions.
Pour les autres données, il est encore un peu difficile et gênant d'écrire soi-même une copie complète. Il est préférable d'utiliser le cloneDeep() de Lodash
.Copier le tableau :
Utilisez des tranches
Utiliser JSON
Je ne comprends pas ce que tu veux dire par le détruire. . . .
Quant à la copie profonde :
Si vous utilisez ES2015, vous pouvez utiliser l'opérateur de propagation d'objet pour copier.