realdennis

Dec 23, 2021

6 min read

一些用 TypeScript 刷題的小技巧 II

接續上篇,一些可被使用於刷題的小技巧。

前言

Photo by NeONBRAND on Unsplash

大綱

  1. 最大初始值與最小初始值
  2. 透過 ES6 的 Map 與 Set 來快速操作
  3. apply or spread 找陣列最大

最大初始值與最小初始值

  • Number.MAX_SAFE_INTEGER
  • Number.MIN_SAFE_INTEGER

透過 ES6 的 Map 與 Set 來快速操作

const dict = {};
dict['a'] = 0;
if('a' in dict) {
console.log(dict['a'])
delete dict['a']
}
console.log(dict);
// 0
// {}
const dict:Map<string,number> = new Map();
dict.set('a', 0);
if(dict.has('a')) {
console.log(dict.get('a'));
dict.remove('a');
}
console.log(dict);// 0
// Map(0) {size: 0}
const state:Set<string> = new Set();state.add('a');
state.add('b');
console.log(state.has('a')) // trueif(state.has('b')) state.add('c')console.log(state.size);//3
state.delete('a');
console.log(state) // Set(2) {'b', 'c'}

apply or spread 找陣列最大

let ret = Number.MIN_SAFE_INTEGER;for(let i=0; i<N; i++) {
const res = /*...*/
if(res > ret) ret = res;
}
Math.max.apply(null, [1,2,3,4]); // 4
const arr = [1,2,3,4]
Math.max(...arr); // 4

If any interest, 👉 https://realdennis.me.

Love podcasts or audiobooks? Learn on the go with our new app.