【发布时间】:2019-04-07 13:53:42
【问题描述】:
给定数组:
['1', {type:'2'}, ['3', {number: '4'}], '5']
我需要使用slice、json.parse等方法不进行克隆。
目前,代码正在运行,但它不会克隆对象:
var myArr =['1',{type:'2'},['3',{number:'4'}],'5'];
var arrClone=[];
for(var i=0;i<myArr.length;i++){
if(typeof(myArr[i])==='object')
{
var arr=[];
for(var j=0;j<myArr[i].length;j++){
arr[j]=myArr[i][j];
}
arrClone[i]=arr;
}else { arrClone[i]=myArr[i]}
}
【问题讨论】:
-
像这样克隆:
let clone = JSON.parse(JSON.stringify(['1',{type:'2'},['3',{number:'4'}],'5'])) -
如果不使用 slice 或 json.parse 或“其他方法”,我认为没有充分的理由这样做,除非它是家庭作业。祝你好运!
-
其他方法是什么意思?如何判断对象是否为数组?
-
是否有任何答案适合您的需求?你能发表评论吗?
标签: javascript arrays duplicates clone