i have one object that one of the properties is an array of objects, the idea is to move objects from that array to no new one if one condition is true.
publ
This is the way You do it:
var array1 = [1, 2, 3, 4, 5];
var array2 = [];
array1.forEach(function(elem, index) {
array1.splice(index, 1);
array2.push(elem);
});
console.log(array1); //[2, 4]
console.log(array2); //[1, 3, 5]
This is an example of how it can be done:
var array1 = [1, 2, 3, 4, 5];
var array2 = [];
for(var i = 0; i < array1.length; i++) {
array2.push(array1[i]);
array1.splice(i, 1);
i--; //decrement i IF we remove an item
}
console.log(array1); //[]
console.log(array2); //[1, 2, 3, 4, 5]
Specific use-case for you:
let messages = this.ticket.messages;
for(let i = 0; i < messages.length; i++) {
let message = messages[i];
if (message.type === "comment") {
this.comments.push(message);
messages.splice(i, 1);
i--;
}
}