1、异步执行函数
实现函数asyncEach,依次执行函数func1,func2,func3的异步控制
function func1(){ setTimeout(function(){console.log("func1")},Math.random()*1000) } function func2(){ setTimeout(function(){console.log("func2")},Math.random()*1000) } function func3(){ setTimeout(function(){console.log("func3")},Math.random()*1000) } asynEach(func1,func2,func3); //输出结果: func1 func2 func3
2、事件管理器
实现事件管理器EventManager,实现sub/pub机制,一个事件可以被多个订阅,每个订阅能依次收到事件消息,参考用例:
EventManager.register("event1",function(){ console.log("event1 triggerd"); }) EventManager.register("event1",function(){ console.log("event1_1 triggerd"); }) EventManager.register("event2",function(){ console.log("event2 triggerd"); }) EventManager.triggerd("event1"); EventManager.triggerd("event2"); //输出结果是: event1 triggerd event1_1 triggerd event2 triggerd
3、对比字符串的差异
实现函数diff,对比两个字符串str1和str2的差异,并列出一行为单位的添删的改动项
str1="dbccdef";
str2="abcdefg";
输出str2相对str1的变动,位置计数从0开始:
0:modify:d:a
2:delete:c
7:add:g
4、红楼梦
给出一张包含100个词的词库列表word_list(字符串数组),实现stat函数的统计《红楼梦》book_str(字符串)中出现的次数。
如果没有词库的情况下,查找使用频率最高的100个词,该怎么做?
时间: 2024-10-09 20:42:18