Take example below code, splice is used to recover one specific item from Array1 and stored in Popped. Then popped is pushed into array2. However if i delete popped, why array2 becomes undefined even though the value has already been pushed.
let Array1 = [
{id: 1, name: "APPLES"},
{id: 2, name: "ORANGE"},
{id: 3, name: "PEAR"},
{id: 4, name: "MANGO"}];
let array2 = [];
let popped = Array1.splice(0, 1)
array2.push(popped);
console.log("Array2: ", array2[0][0].name)
document.querySelector("#First").innerHTML = "First: " + array2[0][0].name;
delete popped[0]; //why when we delete popped, value is undefined ?
document.querySelector("#Second").innerHTML = "Second: " + array2[0][0].name; // undefined