js 項目中查看功能或者請求數據處理 ,深層複製對象 或修改對象

出現場景:

element vue 框架 後臺管理系統項目  常見 點擊查看當前一條數據的詳情

點擊查看,獲取到row 中的數據,進行處理 賦值給 彈框表單

常見的做法;

太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)

好處:不會影響原數據,且高效

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章