javascript - 创建新数组而不影响旧数组的值

标签 javascript

我正在尝试创建现有数组的副本,并在不影响原始数组的情况下从数组副本中删除一些项目。我试过这个:

var new_arr = old_arr; //when I remove from new array the items from old array are also removed

如何创建现有数组的全新副本?

更新:

当我这样做时:

var new_arr = old_arr.slice();

然后:

new_arr[0].shift();
new_arr[1].shift();

old_array 中的项目被删除。这是一个二维数组。

最佳答案

你可以使用两种方法,这个:

function clone (src) {
    return JSON.parse(JSON.stringify(src));
}

或者这个:

var newArray = oldArray.slice();

关于javascript - 创建新数组而不影响旧数组的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14498739/

相关文章:

javascript - 函数创建了 selectpicker 的附加错误项

javascript - 在具有特定条件的 lodash 中添加和组合对象数组中的重复项

javascript - D3,变量 x 轴基于时间刻度

javascript - 在页面上引导多个 Angular 应用程序会导致 Controller 未定义的错误

javascript - 如何列出 OOP 中的所有对象

javascript - 编写满足以下测试的函数 f

php - AngularJS 未发布到 Codeigniter Controller

javascript - 如何动态更新 dropkick.js 下拉菜单中的选项?

Javascript 复杂的可能性

javascript - 类型 '{}' 不可分配给类型 'Pool' 。类型 'config' 中缺少属性 '{}'