javascript - 返回没有删除元素的数组?在不更改数组的情况下使用 splice()?

标签 javascript arrays

我想做这样的事情:

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/

相关文章:

javascript - 如何在使用 d3.js 滚动时将 x 轴保持在固定位置?

javascript - 如何在 JSDoc 中将参数标记为包含 DOM 节点?

C malloc 与字符串数组

c - 使用指向 int 的指针作为数组索引

ios - (Swift) fatal error : Index out of range

javascript - 参数 'myCtrl' 不是函数,未定义

javascript - 如何扩展接口(interface)并覆盖属性的类型?

javascript - Angular ng-options,排序对象

Java:检查两个数组是否包含相同的元素而不进行任何导入

javascript - 按下一个 id 对双向链表进行排序 Ramda.js