如何复制或复制数组数组
How to copy or duplicate an array of arrays
我正在尝试制作一个复制数组数组的函数。我尝试了blah.slice(0);但它只复制参考文献。我需要做一个复制品,使原件完好无损。
我在http://my.opera.com/GreyWyvern/blog/show.dml/1725165
Object.prototype.clone = function() {
var newObj = (this instanceof Array) ? [] : {};
for (i in this) {
if (i == 'clone') continue;
if (this[i] && typeof this[i] == "object") {
newObj[i] = this[i].clone();
} else newObj[i] = this[i]
} return newObj;
};
它很有效,但把我正在使用的jQuery插件搞砸了——所以我需要把它变成一个函数。。。递归并不是我最擅长的。
非常感谢您的帮助!
干杯,
function clone (existingArray) {
var newObj = (existingArray instanceof Array) ? [] : {};
for (i in existingArray) {
if (i == 'clone') continue;
if (existingArray[i] && typeof existingArray[i] == "object") {
newObj[i] = clone(existingArray[i]);
} else {
newObj[i] = existingArray[i]
}
}
return newObj;
}
例如:
clone = function(obj) {
if (!obj || typeof obj != "object")
return obj;
var isAry = Object.prototype.toString.call(obj).toLowerCase() == '[object array]';
var o = isAry ? [] : {};
for (var p in obj)
o[p] = clone(obj[p]);
return o;
}
根据评论改进
相关文章:
- 创建一个数组数组,没有任何重复的Javascript
- 获取最接近的数组数
- 数组数组jquery,json到数组
- 尝试从计算创建数组时数组长度无效
- javascript中递归复制二维数组的算法
- 将现有数组的元素复制到新数组而不使用拼接
- 仅将对象的 1 个属性从对象数组复制到新数组
- 如何在 javascript 中复制 JSON 对象数组
- Angular.copy() 不是深度复制引用的数组
- 如何复制或复制数组数组
- javascript/jquery:单击将相关数组项复制到新数组中
- array.slice()复制一个新数组
- 用javascript复制一个对象数组
- 复制和更新数组值更新原始数组值javascript
- 谷歌表格脚本复制值从数组到列
- 如何将数组数据复制到具有数组和字段的对象
- 复制2D Javascript数组中的元素
- 将PHP数组复制到javascript数组中
- 角度.js复制文本框数组行中的值
- 深度复制可观察数组