Ceci est mon code:
var a=[1,2,3]
b=$.clone(a)
alert(b)
JQuery n'a-t-il pas de méthode 'clone'? Comment puis-je cloner un tableau en utilisant jQuery?
Ceci est mon code:
var a=[1,2,3]
b=$.clone(a)
alert(b)
JQuery n'a-t-il pas de méthode 'clone'? Comment puis-je cloner un tableau en utilisant jQuery?
Il suffit d'utiliser Array.prototype.slice
.
a = [1];
b = a.slice();
JSFiddle - http://jsfiddle.net/neoswf/ebuk5/
Qu'en est-il de jQuery.merge ([], a)?
Changement
b=$.clone(a) pour b=$(this).clone(un) , mais le temps ne fonctionnent pas
mais est signalé
http://www.fusioncube.net/index.php/jquery-clone-bug-in-internet-explorer
Solution vous utilisez simple intégré clone fonction de javascript
var a=[1,2,3];
b=clone(a);
alert(b);
function clone(obj){
if(obj == null || typeof(obj) != 'object')
return obj;
var temp = obj.constructor();
for(var key in obj)
temp[key] = clone(obj[key]);
return temp;
}
-ConroyP
Une excellente alternative est
// Shallow copy
var b = jQuery.extend({}, a);
// Deep copy
var b = jQuery.extend(true, {}, a);
-John Resig
Vérifier poste similaire
Voici comment je l'ai fait:
var newArray = JSON.parse(JSON.stringify(orgArray));
cela créera une nouvelle copie profonde non liée à la première (pas une copie superficielle).
de plus, cela ne clonera évidemment pas les événements et les fonctions, mais la bonne chose que vous puissiez faire en une seule ligne peut être utilisé pour n’importe quel roi d’objet (tableaux, chaînes, nombres, objets ...)
essayer
if (!Array.prototype.clone) {
Array.prototype.clone = function () {
var arr1 = new Array();
for (var property in this) {
arr1[property] = typeof (this[property]) == 'object' ? this[property].clone() : this[property]
}
return arr1;
}
}
utilisé comme
var a = [1, 2, 3]
b = a;
a.push(4)
alert(b); // alerts [1,2,3,4]
//---------------///
var a = [1, 2, 3]
b = a.clone();
a.push(4)
alert(b); // alerts [1,2,3]
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.