JavaScript前端開發時數值運算的小技巧
阿新 • • 發佈:2020-07-29
1.格式化金錢值
const ThousandNum = num => num.toString().replace(/\B(?=(\d{3})+(?!\d))/g,","); const money = ThousandNum(20190214); // money => "20,190,214"
2.取整代替正數的Math.floor(),代替負數的Math.ceil()
const num1 = ~~ 1.69; const num2 = 1.69 | 0; const num3 = 1.69 >> 0; // num1 num2 num3 => 1 1 1
3.轉數值只對null、""、false、數值字串有效
const num1 = +null; const num2 = +""; const num3 = +false; const num4 = +"169"; // num1 num2 num3 num4 => 0 0 0 169
4.精確小數
const RoundNum = (num,decimal) => Math.round(num * 10 ** decimal) / 10 ** decimal; const num = RoundNum(1.69,1); // num => 1.7
5.取最小最大值
const arr = [0,1,2]; const min = Math.min(...arr); const max = Math.max(...arr); // min max => 0 2
6.是否為空物件
const obj = {}; const flag = DataType(obj,"object") && !Object.keys(obj).length; // flag => true
7.判斷資料型別
function DataType(tgt,type) { const dataType = Object.prototype.toString.call(tgt).replace(/\[object (\w+)\]/,"$1").toLowerCase(); return type ? dataType === type : dataType; } DataType("liner"); // "string" DataType(2020630); // "number" DataType(true); // "boolean" DataType([],"array"); // true DataType({},"array"); // false
8.克隆陣列
const _arr = [0,2]; const arr = [..._arr]; // arr => [0,2]
9.合併陣列
const arr1 = [0,2]; const arr2 = [3,4,5]; const arr = [...arr1,...arr2]; // arr => [0,2,3,5];
10.去重陣列
const arr = [...new Set([0,null,null])]; // arr => [0,null]
11.截斷陣列
const arr = [...new Set([0,null]
12.交換賦值
let a = 0; let b = 1; [a,b] = [b,a]; // a b => 1 0
13.克隆物件
const _obj = { a: 0,b: 1,c: 2 }; // 以下方法任選一種(本人偏愛第一種,簡單明瞭,與克隆陣列幾乎一樣) const obj = { ..._obj }; const obj = JSON.parse(JSON.stringify(_obj)); // obj => { a: 0,c: 2 }
14.合併物件
const obj1 = { a: 0,c: 2 }; const obj2 = { c: 3,d: 4,e: 5 }; const obj = { ...obj1,...obj2 }; // obj => { a: 0,c: 3,e: 5 }
為什麼 obj 不是 {a:0,b:1,c:2,d:4,e:5}而是上面結果 下面相同的例子就可以說明
到此這篇關於JavaScript前端開發時數值運算的小技巧的文章就介紹到這了,更多相關JavaScript前端開發時數值運算內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!