日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

常用数据处理

發布時間:2023/12/13 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 常用数据处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、樹形數據轉換

在處理商品分類數據、企業列表數據等情況下,后臺會返回到前臺所有的數據。我們需要根據parentId,數據ID將數據轉換為樹形數據進行渲染。

/*** 樹形數據轉換* @param {*} data* @param {*} id* @param {*} pid*/ export function treeDataTranslate(data, id = 'id', pid = 'parentId') {var res = []var temp = {}for (var i = 0; i < data.length; i++) {temp[data[i][id]] = data[i]}for (var k = 0; k < data.length; k++) {if (temp[data[k][pid]] && data[k][id] !== data[k][pid]) {if (!temp[data[k][pid]]['children']) {temp[data[k][pid]]['children'] = []}if (!temp[data[k][pid]]['_level']) {temp[data[k][pid]]['_level'] = 1}data[k]['_level'] = temp[data[k][pid]]._level + 1temp[data[k][pid]]['children'].push(data[k])} else {res.push(data[k])}}return res }

2、獲取當前年月日

/*** 獲取當前年與日* 格式為 YYYY-MM-DD*/ export function getNowFormatDate() {let date = new Date();let seperator1 = "-";let year = date.getFullYear();let month = date.getMonth() + 1;let strDate = date.getDate();if (month >= 1 && month <= 9) {month = "0" + month;}if (strDate >= 0 && strDate <= 9) {strDate = "0" + strDate;}let currentdate = year + seperator1 + month + seperator1 + strDate;return currentdate; }

3、對象的深拷貝

在vue項目中,常常會碰到編輯數據的問題。當用戶點擊了編輯,進行數據編輯。然而并沒有進行保存,這樣就會導致頁面數據保留更改(雙向數據綁定)造成很不好的體驗。這時就需要對對象進行深拷貝來避免這個問題。

export function deepClone(source) {if (!source && typeof source !== 'object') {throw new Error('error arguments', 'shallowClone')}const targetObj = source.constructor === Array ? [] : {}for (const keys in source) {if (source.hasOwnProperty(keys)) {if (source[keys] && typeof source[keys] === 'object') {targetObj[keys] = source[keys].constructor === Array ? [] : {}targetObj[keys] = deepClone(source[keys])} else {targetObj[keys] = source[keys]}}}return targetObj }

?

?

總結

以上是生活随笔為你收集整理的常用数据处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。