-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathexercise.js
49 lines (49 loc) · 2.28 KB
/
exercise.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// deep clone (for fn, date type and circle object)
// debounce
// throttle
// promise all
// promise race
// promise scheduler
// my reduce
// my AJAX
// my instanceof
// my typeof
// my new
// my call
// my apply
// my bind
// my trim
// my curry
// my promise
// json to string
// string to json
// dom to json
// json to dom
// tree to list
// list to tree
// path to obj
// obj to path
// flatten array
// dedup array
// 大数相加
// 分红包
// LazyMan
// 每个一秒打印一个数字,用setTimeout来实现
// 异步的执行顺序,看问题说答案
// this的指向问题,看问题说答案
// 排列 [['a', 'b'], ['n', 'm'], ['0', '1']] => ['an0', 'am0', 'an1', 'am1', 'bn0', 'bm0', 'bn1', 'bm0']
// 版本号排序的方法,题目描述: 有一组版本号如下['0.1.1', '2.3.3', '0.302.1', '4.2', '4.3.5', '4.3.4.5']。现在需要对其进行排序,排序的结果为 [ '4.3.5', '4.3.4.5', '4.2', '2.3.3', '0.302.1', '0.1.1' ]
// EventEmitter,题目描述: 实现一个发布订阅模式拥有 on emit once off 方法
// 实现一个继承,寄生组合继承
// 题目描述: 渲染百万条结构简单的大数据时 怎么使用分片思想优化渲染
// 写一个事件代理函数,需要判断child是parent的子节点
// 给定一个不含重复数字的数组arr,指定个数n,目标和sum,判断是否含有由n个不同数字相加得到sum的情况,leetcode 40 变种, 数字不得重复使用
// function request(urls, maxNumber, callback) 要求编写函数实现,根据urls数组内的url地址进行并发网络请求,最大并发数maxNumber,当所有请求完毕后调用callback函数(已知请求网络的方法可以使用fetch api)
// 手写代码:写个单例模式
// 请实现抽奖函数rand,保证随机性,输入为表示对象数组,对象有属性n表示人名,w表示权重,随机返回一个中奖人名,中奖概率和w成正比
// 实现这个u, u.console('breakfast').setTimeout(3000).console('lunch').setTimeout(3000).console('dinner')
// getPathValue({a:{b:[1,2,3]}}, 'a.b[0]') => 1
// 实现千分位格式化函数
// 给数组中的字符串编号,f(['ab', 'c', 'd', 'ab', 'c']) => ['ab1', 'c1', 'd', 'ab2', 'c2'],写完后问了一下时间和空间复杂度。
// 实现一个sum,执行asyncAdd
// 实现一个object add函数