日期格式化
function formatTime(time) {
var date = new Date(time)
var year = date.getFullYear()
let format = time => time > 9 ? time : '0' + time
let month = format(date.getMonth() + 1)
let day = format(date.getDate())
let hours = format(date.getHours())
let min = format(date.getMinutes())
return `${year}-${month}-${day} ${hours}:${min}`
}
快速生成数组[0,1,2,3......,1000]
var i = 0
Array.from({ length: 1000 }, _ => i++)
对象合并
//简单浅度合并
// es6解构
let obj1 = {a: 1}
let obj2 = {b: 2}
let obj3 = {...obj1, ...obj2}
// Object内置方法
obj3 = Object.assign(obj1, obj2)
// 深度合并
function deepMerge(obj1, obj2) {
var key
for (key in obj2) {
obj1[key] =
obj1[key] && obj1[key].toString() === "[object Object]"
? deepMerge(obj1[key], obj2[key])
: (obj1[key] = obj2[key])
}
return obj1
}
数组摊平
const arr = [
11,
[21,22,[31,32,33,[41,42,43]]],
12,
13
]
const call = (res, item) => {
if (Array.isArray(item)) {
res.push(...item.reduce(call, []))
} else {
res.push(item)
}
return res
}
console.log(arr.reduce(call, []))
// 输出[11, 21, 22, 31, 32,33, 41, 42, 43, 12,13]