比较两个对象是否相等

192 阅读1分钟
    <!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title></title>
  </head>
  <body>
    <script>
      var res = [
        {
          frtId: "1",
          frtName: "项目",
          frtCode: null,
          frpType: "1414708",
          frpName: "01计税表",
          falg:true,
          reportNnum: "3"
        },
        {
          frtId: "",
          frtName: "",
          frtCode: "",
          frpType: "",
          frpName: "",
          reportNnum: "",
          falg:false,
        },
        {
          frtId: "1",
          frtName: "项目",
          frtCode: null,
          frpType: "1414710",
          frpName: "03安永",
          falg:false,
          reportNnum: "2"
        },
        {
          frtId: "1",
          frtName: "项目",
          frtCode: null,
          frpType: "1414711",
          frpName: "04报税截图",
          falg:false,
          reportNnum: "3"
        },
        {
          frtId: "1",
          frtName: "项目",
          frtCode: null,
          frpType: "1414712",
          frpName: "05其他税务文件",
          falg:false,
          reportNnum: "1"
        },
        {
          frtId: "2",
          frtName: "1项目",
          frtCode: null,
          frpType: "1414708",
          frpName: "01计税表",
          falg:false,
          reportNnum: "3"
        },
        {
          frtId: "2",
          frtName: "1项目",
          frtCode: null,
          frpType: "1414709",
          frpName: "02管理",
          falg:false,
          reportNnum: "3"
        },
        {
          frtId: "2",
          frtName: "1项目",
          frtCode: null,
          frpType: "1414710",
          frpName: "03安永",
          falg:false,
          reportNnum: "2"
        },
        {
          frtId: "2",
          frtName: "1项目",
          frtCode: null,
          frpType: "1414711",
          frpName: "04报税截图",
          falg:false,
          reportNnum: "3"
        },
        {
          frtId: "",
          frtName: "",
          frtCode: "",
          falg:true,
          frpType: "",
          frpName: "",
          reportNnum: "",
        }
      ];
        let arr = []
        let copyObj = {
            frtId: "",
            frtName: "",
            frtCode: "",
            frpType: "",
            frpName: "",
            falg:false,
            reportNnum: "",
            
        }
       arr = res.map(item=>{
            if(item.falg){
                copyObj.falg = true
            }else{
                copyObj.falg = false
            }
           return  comObject(copyObj,item)
           
        })
        // 比较两个对象是否相等
        function comObject(copyObj,item){
            let  obj = {}
            let itemObj = {}
            <!---->对对象的每个key进行排序,然后再转成json进行比较
            Object.keys(copyObj).sort().map(val=>{
                obj[val] = copyObj[val]
            })
            Object.keys(item).sort().map(val=>{
                itemObj[val] = item[val]
            })
            if(JSON.stringify(itemObj) ==  JSON.stringify(obj)){
                return  true
            }else{
                return  false
            }
           
        }
        console.log('arr',arr,arr.length)
        console.log('res',res)
    </script>
  </body>
</html>