JavaScript 打怪升级 —— 把业务逻辑当练习题做

1.前言

开发项目和出没社区有一段时间了,会遇上一些比较有印象业务需求。这些业务需求,可能是自己开发项目遇上的,可能是在社区看到的业务需求,或者其他情况接触到的需求,但是这些业务需求的实现逻辑都值得一写。因为这些业务逻辑可以当做练习题一样,可以给大家练手。也希望大家从这些需求实现的逻辑里面可以能到javascript的相关知识,当然如果大家觉得代码需要怎样优化,或者有什么建议,更好的实现方案,觉得我哪里写错了,或者有觉得可以分享的需求,可以在评论提下!

2.月份坐标轴

这个需求是,看下图就懂了

 

bVZE5GbVZE59

实现方式其实很简单,我在代码打上注释,大家就懂了!

可能大家看着会懵,直接看下面的循环图就懂了

bVZFef

3.数值区间

如下图,就是几个数值区间,而且会有一个最小值和最大值

bVZqVP

测试用例

运行结果

4.数组对比

这个基于我回答过的一个问题,现在化用,改写一下

JavaScript如何对比两个数组?数组B根据数组A来做出增删? (不用jquery,原生js)
具体问题是这样的:

arryA

arryB

1、如果arryA中有a,arryB中没有,那么在arryB中增加一个key值为a的boj,且其他属性值可均为’0′;如下: {key:’a’,num1:’0′,num2:’0′,num3:’0′,tot’:0′}

2、如果arryA中有a,arryB中也有key值为a的obj,那么arryB则不改变,并且该obj里的其他属性和属性值均不变;

3、如果在arryA中删除了a,那么arryB中key值为a的obj整个删掉。

测试

bVZFB6

5.学院获奖

统计学生申请优秀毕业生,并且符合条件的(成绩优秀,拿过奖学金,获得过三好学生)。前提是要申请

大概的流程图就是像下面这样!

bVZGtZ

我在代码上写上注释,相信不难理解了

6.数组连续的最大长度

这个也是出于我回答过的问题:如下

 

bVVkoGbVVkrT

7.答题连对数

这个和上面的代码基本一样,只是判断条件毫厘之差,直接贴,大家看就好

bVZFHs

8.命名方式转换

比如驼峰命名方式转’-‘命名方式。

bVZFM3

比如’-‘命名方式转驼峰命名方式

bVZFND

9.格式化字符

这个最常见的就是在金额方面的显示需求上,比如后台返回10000。前端要显示成10,000或者其他格式等!

bVZGem

10.对象合并,并且记录异常数据

这个需求,可能大家有点懵。下面实例分析
比如有两个都地方记录了我的信息

现在要合并我的信息,并且记录可能有异常的信息。比如上面的name属性,在两个对象都有,而且两个对象的值不一样,那么就不知道到底是info1中的name属性是正确的,还是info2中的name属性是正确的。所以,就得把name这个属性记录起来,方便以后核对name这个属性。

如下图

bVZK5J

下面,一步一步来,先不管3721,直接合并属性

然后先准备一个字段,记录哪些异常信息

最后检查对象,判断哪些信息有异常

11.筛选标签

如下图,在下面渲染这个标签

bVZRX5

大家可能第一可能觉得压根没难度
就是一个对象数组:比如

但是这样的数据,显然是要经过处理生成的

因为不可能这样发送请求

发送过去的参数应该是这样的

怎么进行数据的处理呢,其实很简单,代码不打注释,我想都看得懂

bVZR7C

有了这些数据,渲染到页面这个就简单了!

12.导入excel内容

就是excel上这样的内容

bV0cT9

转成下面的数据

 

bV0cV8

bV0cWa

目录如下

bV0c7w

下面开始写代码,我们利用node.js来写

然后命令行执行该js

然后就发现多了一个test.js文件

bV0c8J

excel的数据就这样导入成js的一个数组了,只要引入这个数组,就可以正常的使用了!

13.随机循环

当时接到的业务是实际显示客户的信息,感觉有点像音乐播放器的随机循环。

要求有两个:
1.一个提示列表里面,提示的信息每隔500ms随机展示。
2.同一轮循环里面,一个提示信息只能展示一次。
3.列表的提示信息全部展示完了,进行下一轮展示。
这个逻辑没什么,直接在代码打上注释,我想大家就明白了!

bV0wv6

14.小结

好了,关于我收集到的一些业务需求逻辑,以及实现的方式,就说到这里了!接触到的也无需求逻辑很多,但是值得写的,可以当做练习题的,就记录到这里了。我上面代码实现可能会有点粗糙,大家有更好的实现方案,欢迎建议一下。如果大家有什么可以当做练习题的需求,可以提下。让大家有多些练习题可以尝试下,学习下!

1 2 收藏 评论

可能感兴趣的话题



直接登录
跳到底部
返回顶部