货币信息转换
// 货币格式化
export function formatCurrency(num) {
if (!num) return "0.00";
num = num.toString().replace(/\$|\,/g, "");
if (isNaN(num)) num = "0";
let sign = num == (num = Math.abs(num));
num = Math.floor(num * 100 + 0.50000000001);
let cents = num % 100;
num = Math.floor(num / 100).toString();
if (cents < 10) cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
num =
num.substring(0, num.length - (4 * i + 3)) +
"," +
num.substring(num.length - (4 * i + 3));
return (sign ? "" : "-") + num + "." + cents;
}
使用方式
let num = 23,102
formatCurrency(num) // 23,102.00
深拷贝
// 简单的深拷贝,只针对简单对象和Array
export const simpleCloneDeep = (value) => {
if (Object.prototype.toString.call(value) === "[object Object]") {
const obj = {};
for (let key in value) {
obj[key] = simpleCloneDeep(value[key]);
}
return obj;
} else if (Array.isArray(value)) {
const arr = [];
value.forEach((item, i) => {
arr[i] = simpleCloneDeep(item);
});
return arr;
} else {
return value;
}
};
使用方式
let obj = {
name:"张三",
age:"24"
}
simpleCloneDeep(obj) //
安全地字符串转对象
// 安全地字符串转对象
export function JSONParse(objString) {
let result = null;
if (objString === "") return result;
try {
result = JSON.parse(objString);
} catch (err) {
result = null;
}
return result;
}
使用方法
let area = JSONParse(sessionStorage.getItem('area'));