学习递归

1.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//对象的深拷贝
    //比如说想拷贝一个 var a = {name:{name:{name:"haha"}}}  想拷贝一份a,可以var b= window.tools.cloneObj(a);
    //这个方法有问题,把一个数组给我改成了类数组了
    deepCopy:function (p, c) {
        var c = c || {};
        for (var i in p) {
            if (typeof p[i] === 'object') {
                c[i] = (p[i].constructor === Array) ? [] : {};
                arguments.callee(p[i], c[i]);
            } else {
                  c[i] = p[i];
            }
        }
        return c;
    },

2.工作需要临时写的一个。

 

  

 3.工作需要写一个获取一个树的所有叶子节点的id。只要有子节点的父节点就不需要。

写递归的时候我们需要注意的特别是写返回值最后拼的时候。这个时候我们不妨先写一个全部变量,把值都保存起来,最后在拆分成我们需要的形式。

这样子写出来后我们的思路就明朗很多了,然后在把返回值替换一下就成了我们需要的形式了。

 

 

  

 

 

posted @   飘然离去  阅读(3057)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示