2017.8.1 拼多多前端笔试题
题目:编写一个函数实现对Object,Array,Boolean,Number,String这五种主要数据类型进行值复制。
网上搜到的参考解答:Object,Array,Boolean,Number,String分为三种情况:普通变量,Array,Object ,使用递归调用方式解题
function clone(Obj){
var buf;
if(Obj instanceof Array){
buf = []; //创建一个空数组
var i = Obj.length;
while(i--){
buf[i] = clone(Obj[i]);
}
return buf;
}
else if (Obj instanceof Object) {
buf = {}; //创建一个空对象
for(var k in Obj){
buf[k] = clone(Obj[k]);
}
return buf;
}
else {
return Obj; //普通对象直接赋值
}
}
#前端工程师#网上搜到的参考解答:Object,Array,Boolean,Number,String分为三种情况:普通变量,Array,Object ,使用递归调用方式解题
function clone(Obj){
var buf;
if(Obj instanceof Array){
buf = []; //创建一个空数组
var i = Obj.length;
while(i--){
buf[i] = clone(Obj[i]);
}
return buf;
}
else if (Obj instanceof Object) {
buf = {}; //创建一个空对象
for(var k in Obj){
buf[k] = clone(Obj[k]);
}
return buf;
}
else {
return Obj; //普通对象直接赋值
}
}