var arr = [3,1,0,-1,-3,2,-5]
function filter(arr){
var temp = [];
var index = 0;
for (var i=0;i<arr.length;++i) {
if (arr[i] > 0) {
temp[index] = arr[i];
++index;
}
}
return temp;
}
var arr2 = filter(arr)
console.log(arr2) // [3,1,2]
console.log(arr)
7.寫(xiě)一個(gè)深拷貝函數(shù),用兩種方式實(shí)現(xiàn)
遞歸調(diào)用
var stu1 = {
name: 'nicole',
score: {
math: 90,
english: 85
}
}
function deepCopy(obj) {
var newObj = {};
for( var key in obj) {
if (obj.hasOwnProperty(key)) {
if (typeof obj[key] === 'number' || typeof obj[key] === 'string' || typeof obj[key] === 'boolean'
|| obj[key] === undefined || obj[key] === null) {
newObj[key] = obj[key];
}else {
newObj[key] = deepCopy(obj[key]);
}
}
}
return newObj;
}
var stu2 = deepCopy(stu1);
stu2.name = 'Jack';
stu2.score.math = 80;
console.log(stu1);
console.log(stu2);