zoukankan      html  css  js  c++  java
  • js对象验证并清洗多余字段

    a是标准数据,b是待验证数据,需要做个验证,如果b数据有的字段a没就把b的该字段删除
    参考深拷贝写法实现对象验证并清洗多余字段

     代码例子:

     

    var a = { // 标准数据格式
        name: "tom",
        age: 18,
        sex: true,
        config: {
             80,
            background: "red",
            format: {
                qqq: [],
                fontFamily: "PingFang SC",
                color: "rgba(0, 0, 0, 1)",
                fontSize: "14px"
            }
        }
    }
    var b = { // 后台给的数据
        name: "anne",
        sex: false,
        config: {
             80,
            height: 100,
            background: "red",
            format: {
                qqq: [1,2,3],
                fontFamily: "PingFang SC",
                color: "rgba(0, 0, 0, 1)",
                fontSize: "14px"
            }
        }
    }
    
    /*  清洗数据多余字段,找出多余字段并删除
        object1: 标准数据
        object2: 待验证数据
    */
    function dataClean(object1, object2){
        var obj1 = JSON.parse(JSON.stringify(object1))
        var obj2 = JSON.parse(JSON.stringify(object2))
        function recursive(obj1, obj2) {
            for (var key in obj2) {
                var item1 = obj1[key];
                var item2 = obj2[key];
                if (item1 === undefined && item2) {
                    delete obj2[key]
                } else if (typeof item1 === "object" && !(item1 instanceof Array) && typeof item2 === "object") {
                    recursive(item1, item2)
                }
            }
        }
        recursive(obj1, obj2)
        return obj2
    }
    var c = dataClean(a, b)
    console.log("标准数据", a, "验证数据", b, "最终结果", c);
  • 相关阅读:
    MYSQL查看数据表最后更新时间
    linux在终端模拟软件实现文件上传下载
    yum常用操作
    释放Linux占用端口
    CentOS7.3编译安装MariaDB10.2.6
    CentOS7编译安装Nginx1.10.1
    Linux系统安装ActiveMQ时遇到服务无法启动的问题
    需求分析读书笔记(一)
    实用地址分享
    元素居中汇总
  • 原文地址:https://www.cnblogs.com/konghaowei/p/15206417.html
Copyright © 2011-2022 走看看