复制在JavaScript中的任意n维数组? [英] Copy an arbitrary n-dimensional array in JavaScript?
本文介绍了复制在JavaScript中的任意n维数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我基本上寻找一个一般功能拷贝(阵列),将没有任何引用返回相同的n维数组前者。
I am basically looking for a general function copy(array) that will return identical n-dimensional array without any references to the former one.
推荐答案
这适用于数组,它不会嵌套对象的工作(不属于阵列):
This works for arrays, it won't work for nested objects (that aren't Arrays):
function copy(arr){
var new_arr = arr.slice(0);
for(var i = new_arr.length; i--;)
if(new_arr[i] instanceof Array)
new_arr[i] = copy(new_arr[i]);
return new_arr;
}
使用这样的:
var arr = [
[[1,2,3],[75]], 100,
[[[1]]], [],
[1,[2,[3],4],5], 6, 7, 8
];
var new_arr = copy(arr);
这篇关于复制在JavaScript中的任意n维数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文