1. 程式人生 > 實用技巧 >短而精程式碼段喲

短而精程式碼段喲

將obj轉為url字串

var queryString = Object.keys(obj).map(key => key + '=' + obj[key]).join('&');

展平陣列

var arr4=arr3.flat(Infinity) 

陣列物件資料格式根據年齡排序

var arr = [{'name': '張三', age: 26},{'name': '李四', age: 12},{'name': '王五', age: 37},{'name': '趙六', age: 4}];
arr.sort( (a,b)=> b.age-a.age);
console.log(arr)

隨機排序

arr.sort( (a,b)=> Math.random()-0.5);

過濾undefined ,NAN,null,false,‘’

arr = arr.filter(val=>!(!val || val== ''));

過濾undefined ,NAN,null,false,‘’的數字陣列

arr = arr.map(Number).filter(val=>!(!val || val== ''));

優化if(a==key || b==key || c==key)

[a, b, c].includes(key);     // true/false

Set去重

let unique=(a)=>[...new Set(a)];

非負數代替Math.floor()

~~11.71  //11
11.71 | 0  //11

代替Math.round()

let a=24.7;
a-0.5 | 0 // 25

es6解構交換賦值

let [a,b]=[b,a]

使用^判斷是否同為正負數

(a^b)>=0 ;  //true 相同; false 不相同

快速建立a連結

let b = "我是a標籤包裹的文字".link(www.baidu.com)

es6重複字元

let d = "0".repeat(7);//"0000000"

快速判斷IE8以下瀏覽器

let isIE8 = !+"1"

for迴圈條件簡寫

for(let i = arr.length;i--){}

隱藏所有指定元素

const hide2 = (el)=>Array.from(el).forEach(e=>(e.style.dispaly="none"))

..