【消灭代办】第1周 - 敏感词判断、图片206、parseInt
11.16代办一:【敏感词判断】
代办描述:
一堆字符串组成的数组,给你一个字符串,让你去查找这个字符串是否在这个数组当中?
关键考点:
数组匹配,看一个数组中有没有这个字符串。
解决思路:
遍历数组,拿这个字符串去和数组的项一一比对。
解决方案s:
方案一:Array.indexOf('关键字');
做法:利用这个方法,将关键字传入进去,如果在数组中查到,就会返回这个关键字在数组中的下标,如果找不到就会返回 -1(思考,为什么不是null或者undefined?)。
而下标最小为0,所以只要判断indexOf()的返回值是否大于0即可判断此关键字是否是敏感词。
知识点:数组的indexOf()方法(见参考2)
indexOf(),(切记这个“O”大写),
在字符串使用的时候,括号里的关键词可以隐式转换,
在数组使用的时候,使用全等(===)符号判断。
第二个参数可选,表示要开始查找的下标位置。数组中表示开始查找的索引位置。
优缺点及可行性分析:
方案二:
上边在解决的时候,一句话点醒了我,说直接用indexOf(“关键字”)去数组中找,他不会做二次判断,但是拿着一个关键字去字符串中找,他就能匹配:

这就解决了在一段文字中找到个别关键字的问题了。
所以最后将思路整理成代码:
function filter(value) {
//遍历敏感词数组filter.data
let len = filter.data.length;
for (var i = 0; i < len; i++) {
//判断内容中是否包括敏感词
if (value.indexOf(filter.data[i]) != -1) {
return value;//value为传入的input的value值,如果这个值是敏感词,直接返回这个敏感词,以备后用。
}
}
//如果不是敏感词,默认函数不返回值(即undefined),最后判断函数执行的返回值即可。
}
这里用了for循环,也可以forEach遍历数组。个人喜好和追求吧。
优缺点及可行性分析:
解决问题的代码就是好代码。可能觉得多了一层for循环,但是indexOf内部应该也是要遍历数组吧。
引申:
搜索功能:
比如我输入一个关键字 "test",返回所有和test有关的信息。就像百度搜索那样的功能。怎么做?
参考:
[1]:网站敏感词过滤的实现(附敏感词库)【跳转】
[2]:简单谈谈JS数组中的indexOf方法【跳转】
11.17代办二:【图片206是什么意思?】
代办描述:
如题

关键考点:
http请求状态码
解决思路:
百度前我敢肯定的是,2xx开头的肯定不是失败
答案:
[1]多线程下载的状态码、
[2]HTTP 2xx范围内的状态码表明了:"客户端发送的请求已经被服务器接受并且被成功处理了".
HTTP/1.1 200 OK是HTTP请求成功后的标准响应,
HTTP/1.1 206 状态码表示的是:"客户端通过发送范围请求头Range抓取到了资源的部分数据".这种请求通常用来:
- 学习http头和状态.
- 解决网路问题.
- 解决大文件下载问题.
- 解决CDN和原始HTTP服务器问题.
- 使用工具例如lftp,wget,telnet测试断电续传.
- 测试将一个大文件分割成多个部分同时下载.
引申:
其他状态码的意思呢?
http头部信息都有啥并表示啥呢?
这里找到一个很不错的网站,部分内容见截图。
http状态码说明:


header头部信息说明:



详细内容请跳转至该网站:http头部信息查询
参考:
[1]:HTTP状态码206【跳转】
[2]:[译]实践HTTP206状态:部分内容和范围请求【跳转】
11.18代办三:【数字操作小技巧 - 取数字对应位数上的值】
代办描述:
数字34,请拿出个位数的数字。
数字235,请拿出百位数的数字、
数字293,请拿出十位数的数字、
。。。
类似这样的题。
关键考点:
运算符 “/”、“%”的灵活应用
parseInt的作用
解决思路:
parseInt(num/10)
这样可以拿到num变量的十位数上的数字!!
parseInt(num/100)
是不是就可以拿到百位数上的数字了!!!
parseInt(num%10)
就可以拿到两位数数字的个位数的数!!适用于两位数固定的数字,取十位数上的数字时使用。
同样,处以100的也只用于三位数字。

所以,思路转换下,从三位数中拿到中间十位数上的数字,也可以运用这些方法:
parseInt(num/10) %10
例:

2018-11-18 10:10:51
【消灭代办】第1周 - 敏感词判断、图片206、parseInt的更多相关文章
- DFA算法之内容敏感词过滤
DFA 算法是通过提前构造出一个 树状查找结构,之后根据输入在该树状结构中就可以进行非常高效的查找. 设我们有一个敏感词库,词酷中的词汇为:我爱你我爱他我爱她我爱你呀我爱他呀我爱她呀我爱她啊 那么就可 ...
- 【消灭代办】第2周 - 数组判断、开发工具、transform:matrix、Grid
2018.11.19代办一:[数组判断] 代办描述: 怎么判断一个数组是数组呢?其实这个也是一个常考的题目 关键考点: 1.js中对象类型判断的几种方法 2.数组的知识和灵活运用 解决方案s: 篇幅过 ...
- js对敏感词的判断
先贴代码: //定义敏感字符 var forbiddenArray =['xx','<','>','黄色']; //定义函数 function forbiddenStr(str){ // ...
- 基于DFA敏感词查询的算法简析
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 项目中需要对敏感词做一个过滤,首先有几个方案可以选择: a.直 ...
- java实现敏感词过滤(DFA算法)
小Alan在最近的开发中遇到了敏感词过滤,便去网上查阅了很多敏感词过滤的资料,在这里也和大家分享一下自己的理解. 敏感词过滤应该是不用给大家过多的解释吧?讲白了就是你在项目中输入某些字(比如输入xxo ...
- 浅析敏感词过滤算法(C++)
为了提高查找效率,这里将敏感词用树形结构存储,每个节点有一个map成员,其映射关系为一个string对应一个TreeNode. STL::map是按照operator<比较判断元素是否相同,以及 ...
- Java实现敏感词过滤
敏感词.文字过滤是一个网站必不可少的功能,如何设计一个好的.高效的过滤算法是非常有必要的.前段时间我一个朋友(马上毕业,接触编程不久)要我帮他看一个文字过滤的东西,它说检索效率非常慢.我把它程序拿过来 ...
- php敏感词过滤
在项目开发中发现有个同事在做敏感词过滤的时候用循环在判断,其实是不用这样做的,用php的数组函数和字符串函数即可实现 function filterNGWords($string) { $badwor ...
- 转:鏖战双十一-阿里直播平台面临的技术挑战(webSocket, 敏感词过滤等很不错)
转自:http://www.infoq.com/cn/articles/alibaba-broadcast-platform-technology-challenges 鏖战双十一-阿里直播平台面临的 ...
随机推荐
- python测试开发django-48.xadmin上传图片django-stdimage
前言 django通过自带的ImageField可以实现图片上传,如果想在列表页面也显示图片缩略图的话,可以用django-stdimage插件来实现 django-stdimage django-s ...
- CentOS -- 添加开机自启动 命令 脚本
如果只是添加一条开机启动的命令: 1. chmod +x /etc/rc.d/rc.local 2. 将命令写到 /etc/rc.d/rc.local 这个文件中 3. reboot
- electron实现类似QQ来新消息时的闪烁与任务栏窗口提醒
公司项目有一款带即时聊天.群组功能的APP,因为要给客服人员使用,需要开发PC版本.之前使用C#开发过一个PC版本,但是C#的UI这一块支持的不太好,而且升级比较麻烦,我就牵头基于Electron去实 ...
- iOS:使用NSRegularExpression正则去掉一串字符串中所有的特殊字符和标点
一.介绍 在开发中,有时我们需要对一串字符串做特殊的处理后再使用,例如判断是不是特殊字符.去掉所有的特殊字符等.做处理的方法有很多,最简单的就是for循环遍历一个个的比较处理,最好用的应该是使用正则表 ...
- mock以及特殊场景下对mock数据的处理
一.为什么要mock 工作中遇到以下问题,我们可以使用mock解决: 无法控制第三方系统某接口的返回,返回的数据不满足要求 某依赖系统还未开发完成,就需要对被测系统进行测试 有些系统不支持重复请求,或 ...
- 【strpos】php的strpos的坑,记一次
php > var_dump(strpos('开始23测试ceshi', '测试')); int(8) php > var_dump(mb_strpos('开始23测试ceshi', '测 ...
- 百度「Web 前端研发部」面试过程和常见问题 可能会采用哪些方法来面试 STAR 面试法 喜欢什么样的面试者 喜欢问的问题
http://segmentfault.com/a/1190000002498800 在他们的github上看到的,收藏一下备用.看完觉得还有很多要努力的地方. FEX 的面试过程 我们一般会有 3 ...
- 20151028整理罗列某种开发所包括对技术(技术栈),“较为全面”地表述各种技术大系的图表:系统开发技术栈图、Web前端技术栈图、数据库技术栈图、.NET技术栈图
———————————— 我的软件开发生涯 (10年开发经验总结和爆栈人生) 爆栈人生 现在流行说全栈.每种开发都有其相关的技术.您是否觉得难以罗列某种开发所包括对技术(技术栈)呢? 您是否想过: ...
- 空间谱专题10:MUSIC算法
作者:桂. 时间:2017-09-19 19:41:40 链接:http://www.cnblogs.com/xingshansi/p/7553746.html 前言 MUSIC(Multiple ...
- 【Android】Android设计准则
准则 下面的这些设计准则是为了让Android的用户体验团队保持用户最佳的体验而发明设计的. 把他们融合到你的创造力中,作为你的设计理念,而不是有意地去使用. 吸引我 用惊奇的方式来取悦我 一个漂亮的 ...