我想做这样的事情:
var myArray = ["one","two","three"];
document.write(myArray.splice(1,1));
document.write(myArray);
所以它首先显示“一,三”,然后是“一,二,三”。我知道 splice() 返回删除的元素并更改数组,但是是否有函数返回一个删除了元素的新数组?我试过:
window.mysplice = function(arr,index,howmany){
arr.splice(index,howmany);
return arr;
};
如果我尝试:
var myArray = ["one","two","three"];
document.write(mySplice(myArray,1,1));
document.write(myArray);
它仍然改变了 myArray。
最佳答案
正如下面的答案所建议的,这是一个代码快照
var myArray = ["one", "two", "three"];
var cloneArray = myArray.slice();
myArray.splice(1, 1);
console.log(myArray);
console.log(cloneArray);
关于javascript - 返回没有删除元素的数组?在不更改数组的情况下使用 splice()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6824916/