js 项目中查看功能或者请求数据处理 ,深层复制对象 或修改对象

出现场景:

element vue 框架 后台管理系统项目  常见 点击查看当前一条数据的详情

点击查看,获取到row 中的数据,进行处理 赋值给 弹框表单

常见的做法;

js 项目中查看功能或者请求数据处理 ,深层复制对象 或修改对象_第1张图片

太low!

写一个方法

  copy(obj) {

   if (obj == null) {

        return null

    }

    let result = Array.isArray(obj) ? [] : {};

    for (let key in obj) {

        if (obj.hasOwnProperty(key)) {

            if (typeof obj[key] === 'object') {  //可以深层复制

                result[key] = this.copy(obj[key]);  // 如果是对象,再次调用该方法自身

            } else {

                result[key] = String(obj[key]); //功能需要在这一步进行数据处理操作,这里是要转成字符串格式

            }

        }

    }

    return result;

}

调用:

  this.tabform =this.copy(obj.row)

好处:不会影响原数据,且高效

 

 

你可能感兴趣的:(项目经验,vue,js)