const utils = {
/**
* yc
* 全链路url转对象
* @param {*} allUrl
*/
allUrlToObj(allUrl) {
let obj = {}
if (allUrl.includes('?')) {
let allUrlArr = []
allUrlArr = allUrl.split('?')
obj = {
url: allUrlArr[0]
}
if (allUrlArr[1].includes('&')) {
let allUrlArr1 = []
allUrlArr1 = allUrlArr[1].split('&')
allUrlArr1.forEach(a => {
if (a.includes('=')) {
let aArr = []
aArr = a.split('=')
obj[aArr[0]] = aArr[1]
}
})
} else {
let allUrlArr1 = [allUrlArr[1]]
allUrlArr1.forEach(a => {
if (a.includes('=')) {
let aArr = []
aArr = a.split('=')
obj[aArr[0]] = aArr[1]
}
})
}
} else {
obj = {
url: allUrl
}
}
return obj
},
/**
* yc
* 对象数组 一维化
* @param {*} twoObjArr
*/
twoObjArrToOneArr(twoObjArr) {
let oneArr = []
twoObjArr.forEach(a => {
Object.entries(a).forEach(b => {
const isArr = Array.isArray(b[1])
if (isArr) {
oneArr = oneArr.concat(b[1])
}
})
})
return oneArr
},
/**
* yc
* 时间戳 转 日期 格式
* @param {*} timestamp
* @param {*} format
*/
timestampToDate(timestamp, format = "YYYY-MM-DD hh:mm:ss") {
const formatArr = ['YYYY', 'MM', 'DD', 'hh', 'mm', 'ss']
let date = new Date(timestamp)
const YYYY = date.getFullYear()
const MM = date.getMonth() + 1
const DD = date.getDate()
const hh = date.getHours()
const mm = date.getMinutes()
const ss = date.getSeconds()
const dateArr = [YYYY, MM, DD, hh, mm, ss]
let formatDate = format
dateArr.forEach((a, index, arr) => {
let findStr = formatArr[index]
if (formatDate.includes(findStr)) {
a = a >= 10 ? a : ('0' + a)
} else {
findStr = formatArr[index][0]
}
formatDate = formatDate.replace(findStr, a)
})
return formatDate
},
author: yc
}
export default utils
twoObjArr 示例
let items = [
{
a:[
{id:1},
{id:2}
],
b:[
{id:3},
{id:4}
],
c:[
{id:5},
{id:6}
],
d:[
{id:7},
{id:8},
{id:9},
],
xx:'66666'
},
{
a:[
{id:21},
{id:22}
],
b:[
{id:23},
{id:24}
],
c:[
{id:25},
{id:26}
]
}
]
utils.twoObjArrToOneArr(items)
let allUrl = 'https://baidu.com.cn/#/SpecialPage?id=98f73b1236884d6e8ac066248557b53a&forwardForm=b8696fe8b0ba43ea80400fb3e580db8f&isFirst=true'
utils.allUrlToObj(allUrl)
utils.timestampToDate(new Date().getTime(),'YYYY-MM-D h:m:s')