- 01, 等待特定得时间量
const wait = (ms: number) : Promise<void> => new Promise((resolve) => setTimeout(resolve, ms));
await wait(1000);
- 02, 检查一个日期是否为工作日
const isWeekday = (d: Date) : boolean => d.getDay() % 6 !== 0;
isWeekday(new Date(2022, 06,20)); // true
isWeekday(new Date(2022, 06, 25)); // false
-
03, 反转字符串
const reverse = (s: string): string => s.split('').reverse.join('');
reverse('Pixar') // raxip
04, 检查一个数字是否为偶数
const isEven = (n:number): boolean => n % 2 === 0;
isEven(2) // true
isEven(3) // false
05, 检查数组是否为空
// 这里使用 unknown 类型,而不是 any,它提供了更安全的类型
const isArrayEmpty = (arr:unknown[]): boolean => Array.isArray(arr) && !arr.length;
isArrayEmpty([]) // true
isArrayEmpty([1,2,3]) // false
06,检查对象、数组是否为空
const isObjectEmpty = (obj: unknown):booean => obj && Object.keys(obj).length === 0;
isObjectEmpty({}); // -> true
isObjectEmpty({ foo: 'bar' }); // -> false
07, 随机生成整数
js const randomInterger = (min:number, max:number):number => math.floor(Math.random() * (max - min + 1)) + min; randomInteger(1, 10); // -> 7
08, 生成随数组组合
const shuffleArray = <T>(arr: T[]): T[] => arr.sort(() => Math.random() - 0.5);
shuffleArray(<number[]>[1, 2, 3, 4, 5]); // -> [ 4, 5, 2, 1, 3 ]