JS 常用方法
1、数组相关
1.1、数组分组函数
dataGroupingToJson(array, key) {
if (!key) return array;
var aMap = [];
var oResult = {};
for (var i = 0; i < array.length; i++) {
var item = array[i];
if (aMap.indexOf(item[key]) === -1) {
oResult[item[key]] = [item];
aMap.push(item[key]);
} else {
oResult[item[key]].push(item);
}
}
return oResult;
},
2、请求相关
postRequest(path, queryInfo, header) {
return new Promise((resolve, reject) => {
this.$axios
.post(path, queryInfo, { headers: header })
.then((res) => {
resolve(res.data);
})
.catch((err) => {
reject(err);
});
});
},
commonGetResData(res, noMessage) {
return new Promise((resolve, reject) => {
if (res.status === 200) {
if (res.data.meta) {
if (res.data.meta.success) {
resolve(res.data.data)
} else {
this.$message({
type: 'error',
message: res.data.meta.message
})
reject(res.data.meta.message)
}
} else {
const msg = '后台返回数据格式异常'
if (!noMessage) {
this.$message({
type: 'error',
message: msg
})
}
reject(msg)
}
} else {
const msg = res.statusText
if (!noMessage) {
this.$message({
type: 'error',
message: msg
})
}
reject(msg)
}
})
},
getFlxx() {
let g = this;
axios.all([getrylb(), getZjlb()]).then(
axios.spread(function (res1, res2) {
let error = res1.error || res2.error;
if (error) {
g.shortErrMsg("获取数据出错:" + error);
return;
}
console.log(res2, "this.flxx");
g.personType = res1.data;
g.zjList = res2.data;
})
);
},
3、日期相关
formatDate(numb, format) {
if (numb == null || numb == "") {
return "";
} else {
const old = numb - 1;
const t = Math.round((old - Math.floor(old)) * 24 * 60 * 60);
const time = new Date(1900, 0, old, 0, 0, t);
const year = time.getFullYear();
const month = time.getMonth() + 1;
const date = time.getDate();
return (
year +
format +
(month < 10 ? "0" + month : month) +
format +
(date < 10 ? "0" + date : date)
);
}
},