0
点赞
收藏
分享

微信扫一扫

判断对象、数组的值是不是全为空于深拷贝方法

逸省 2022-05-04 阅读 81
javascript

判断对象的值是不是全为空

function objectValueAllEmpty(object){
     let isEmpty = true
     Object.keys(object).forEach(key=>{
        if(Array.isArray(object[key])){
          object[key].forEach(item=>{
              Object.keys(item).forEach((key)=>{
                  if((item[key] == ""||item[key] == null ||item[key] == undefined) && item[key] !== 0){
                    isEmpty = false
                  }
              });
          })
        }
        if((object[key] == ""||object[key] == null ||object[key] == undefined) &&object[key] !== 0){
            isEmpty = false
        }
     })
     return isEmpty
   }

判断数组的值是不是全为空

function arrayValueAllEmpty(array){
    var isEmpty = true;
    array.forEach((item)=>{
        Object.keys(item).forEach((key)=>{
            if((item[key] == ""||item[key] == null ||item[key] == undefined) && item[key] !== 0){
              isEmpty = false
            }
        });
    });
    return isEmpty
  }

数据深拷贝

function copy(obj1,obj2) {
    let newObj = obj1;
    for (let key in obj2) {
      //判断是否为对象
      if (typeof obj2[key] === "object") {
        //constructor检测是否是数组类型
        newObj[key] = Array.isArray(obj2[key])? [] : {};
        this.copy(newObj[key], obj2[key]);
      } else {
        //如果obj[key]不是对象类型,直接赋值
        newObj[key] = obj2[key];
      }
    }
    return newObj;
  }

这只是本人自己平常遇到的,希望能帮助到需要帮助的人

举报

相关推荐

0 条评论