当我有一个数组时,我使用 splice
来删除,比方说,数组的最后一个元素。是否有机会创建一个按钮,当我单击它时,它会撤消已删除的操作?比如在写代码的时候用Ctrl+Z 就可以及时跳回?这意味着将删除的元素及其所有特征还给我?
最佳答案
Array.splice
允许您删除或插入元素,删除时也会返回被删除的元素。如果您捕获已删除的元素,您可以轻松地将它们添加回来:
let arr = [1,2,3,4,5,6];
// remove 1 element from index 1 ("2")
let removed = arr.splice(1, 1);
// add "2" back to position 1
arr.splice(1, 0, ...removed);
console.log(arr);
如果您无法访问 ES6 的扩展运算符,您可以使用 .shift()
来获取 removed
中的第一个元素:
let arr = [1,2,3,4,5,6];
// remove 1 element from index 1 ("2")
let removed = arr.splice(1, 1);
// add "2" back to position 1
arr.splice(1, 0, removed.shift());
console.log(arr);
关于javascript - 如何 "undo"带有拼接的已删除元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42913573/