zoukankan      html  css  js  c++  java
  • 递归 判断条件 赋值

     // 递归 判断条件 赋值
            var data = [
                {
                    "addr": "00001",
                    "parent": "00002",
                    "num": "00002",
                },
                {
                    "addr": "00002",
                    "parent": "00002",
                    "num": "00002",
                },
                {
                    "addr": "00002",
                    "parent": "00002",
                    "num": "00002",
                },
                {
                    "addr": "00003",
                    "parent": "00003",
                    "num": "00002",
                },
                {
                    "addr": "00004",
                    "parent": "00003",
                    "num": "00002",
                },
                {
                    "addr": "00003",
                    "parent": "00002",
                    "num": "00002",
                }
            ];
    
            function deepClone(obj) {
                let objClone = Array.isArray(obj) ? [] : {};
                if (obj && typeof obj === "object") {
                    for (key in obj) {
                        if (obj.hasOwnProperty(key)) {
                            //判断ojb子元素是否为对象,如果是,递归复制
                            if (obj[key] && typeof obj[key] === "object") {
                                objClone[key] = deepClone(obj[key]);
                            } else {
                                //如果不是,简单复制
                                objClone[key] = obj[key];
                            }
                        }
                    }
                }
                return objClone;
            };
            var data2 = deepClone(data);
            console.log(data2);
            for (var i = 0; i < data.length; i++) {
                if (data[i].addr == data[i].parent && data[i].addr == data[i].num) {
                    data[i].childer = data2[i];
                }
            }
            console.log(data);
    
    
    Sometimes you need to applaud yourself
  • 相关阅读:
    AGC007题解
    博弈论学习笔记
    ZROI2019 提高十连测
    男人八题2019
    LOJ 2840「JOISC 2018 Day 4」糖
    CF671D Roads in Yusland
    网络流套路小结
    BZOJ 3729 GTY的游戏
    AGC036C GP 2
    BZOJ 5046 分糖果游戏
  • 原文地址:https://www.cnblogs.com/tuziling/p/14810611.html
Copyright © 2011-2022 走看看