Wie kann ich ein Element aus einem Array zu einem anderen Array in Javascript bewegen?
-
21-09-2019 - |
Frage
Mein Code ist wie
var shapes1 = [ r.image("node.gif",190, 100, 47, 45)];
var shapes2 =[];
for (var i = 0, ii = shapes1.length; i < ii; i++) {
shapes1[i].mousedown(function(e){
var temp=this.clone();
shapes1.push(temp);
//now I want to remove "this" from shapes1
//and put it into shape2
//HOW??
isDrag=true;
e.preventDefault();
});
}
Vielleicht ist dies der falsche Weg, es zu tun? Ich soll stattdessen mit einer Klasse sein, ist aber nicht, dass für die DOM-Elemente?
Lösung
Ich finde es praktisch, Dinge zu haben, wie
function removeIf(arr, predicate) {
for (var i = 0; i < arr.length; i++) {
if (predicate(arr[i])) {
arr.splice(i--, 1);
}
}
}
So dann:
var shapes1 = [ r.image("node.gif",190, 100, 47, 45)];
var shapes2 =[];
for (var i = 0, ii = shapes1.length; i < ii; i++) {
shapes1[i].mousedown(function(e){
var temp=this.clone();
shapes1.push(temp);
removeIf(shapes1, function (item) { return item === this; });
shapes2.push(this);
isDrag=true;
e.preventDefault();
});
}
Andere Tipps
Verwendung splice (Index-Bereich), um Elemente aus einem Array zu entfernen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow