数字处理
保留小数位数
export default function roundToDecimal(num:number, decimalPlaces=2) {
return +num.toFixed(decimalPlaces);
}
function removeEmpty(obj) {
return Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null));
}
判断数据类型
是否是数字(判断字符串)
export function isNumeric(value) {
return /^-?\\d+$/.test(value);
}
export function isNumeric(value:any) {
return /^-?\\d+$/.test(value);
}
cleanObject
export const isFalsy = (value: unknown) => (value === 0 ? false : !value);
export const isVoid = (value: unknown) =>
value === undefined || value === null || value === "";
export const cleanObject = (object?: { [key: string]: unknown }) => {
// Object.assign({}, object)
if (!object) {
return {};
}
const result = { ...object };
Object.keys(result).forEach((key) => {
const value = result[key];
if (isVoid(value)) {
delete result[key];
}
});
return result;
};
export const isFalsy = (value) => (value === 0 ? false : !value);
export const isVoid = (value) =>
value === undefined || value === null || value === "";
export const cleanObject = (object) => {
// Object.assign({}, object)
if (!object) {
return {};
}
const result = { ...object };
Object.keys(result).forEach((key) => {
const value = result[key];
if (isVoid(value)) {
delete result[key];
}
});
return result;
};
let res=cleanObject({
name:'',
pageSize:10,
page:1
})
console.log("res", res)
参数转换
对象转化为formData
/**
* 对象转化为formdata
* @param {Object} object
*/
export function getFormData(object) {
const formData = new FormData()
Object.keys(object).forEach(key => {
const value = object[key]
if (Array.isArray(value)) {
value.forEach((subValue, i) =>
formData.append(key + `[${i}]`, subValue)
)
} else {
formData.append(key, object[key])
}
})
return formData
}
/**
* 对象转化为formdata
* @param {Object} object
*/
export function getFormData(object: { [index: string]: any }) {
const formData = new FormData()
Object.keys(object).forEach(key => {
const value = object[key]
if (Array.isArray(value)) {
value.forEach((subValue, i) =>
formData.append(key + `[${i}]`, subValue)
)
} else {
formData.append(key, object[key])
}
})
return formData
}
对象转化为urlencode
/**
* 对象转化为url参数
* @param {*} obj
*/
export function getParams(obj) {
return Object.keys(obj)
.map(function(k) {
return encodeURIComponent(k) + '=' + encodeURIComponent(obj[k])
})
.join('&')
}
export function getParams(obj:{[key:string]:any}) {
return Object.keys(obj)
.map(function(k) {
return encodeURIComponent(k) + '=' + encodeURIComponent(obj[k])
})
.join('&')
}