一个Vue脚手架中应该有哪些基础方法
1.深拷贝
// 深拷贝
export function deepClone(source) {
if (!source && typeof source !== 'object') {
throw new Error('error arguments', 'deepClone')
}
const targetObj = source.constructor === Array ? [] : {}
Object.keys(source).forEach(keys => {
if (source[keys] && typeof source[keys] === 'object') {
targetObj[keys] = deepClone(source[keys])
} else {
targetObj[keys] = source[keys]
}
})
return targetObj
}
2.获得开始和结束时间的月份数
// 获取开始日期与结束日期之间的月份
export function getMonthBetween(start, end) {
var result = [];
var s = start.split("-");
var e = end.split("-");
var min = new Date();
var max = new Date();
min.setFullYear(s[0], s[1]);
max.setFullYear(e[0], e[1]);
var curr = min;
while (curr <= max) {
var month = curr.getMonth();
// month=month==0?12:month;
var str = curr.getFullYear() + "-" + complementZero(month);
var s = curr.getFullYear() + "-00";
if (str == s) {
str = curr.getFullYear() - 1 + "-12";
}
result.push(str);
curr.setMonth(month + 1);
}
return result;
}
// 阿拉伯数字转换成汉字
export function sectionToChinese(section) {
var chnNumChar = ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九"];
var chnUnitSection = ["", "万", "亿", "万亿", "亿亿"];
var chnUnitChar = ["", "十", "百", "千"];
var strIns = '',
chnStr = '';
var unitPos = 0;
var zero = true;
while (section > 0) {
var v = section % 10;
if (v === 0) {
if (!zero) {
zero = true;
chnStr = chnNumChar[v] + chnStr;
}
} else {
zero = false;
strIns = chnNumChar[v];
strIns += chnUnitChar[unitPos];
chnStr = strIns + chnStr;
}
unitPos++;
section = Math.floor(section / 10);
}
return chnStr;
}