js代码优化(不定时更新)
1、避免多条件并列
if (status === 'process' || status === 'wait' || status === 'fail') {doSomething()
}
这种写法语义性、可读性都不太好。可以通过switch case
或includes
这种进行改造。
switch(status) {case 'process':case 'wait':case 'fail':doSomething()
}
const enum = ['process', 'wait', 'fail']
if (enum.includes(status)) {doSomething()
}
2、数组扁平化
2-1、递归
var arr = [1, [2, [3, 4]]];function flatten(arr) {var result = [];for (var i = 0, len = arr.length; i < len; i++) {if (Array.isArray(arr[i])) {result = result.concat(flatten(arr[i]));} else {result.push(arr[i]);}}return result;
}console.log(flatten(arr));
2-2、reduce
var arr = [1, [2, [3, 4]]];function flatten(arr) {return arr.reduce(function (prev, next) {return prev.concat(Array.isArray(next) ? flatten(next) : next);}, []);
}console.log(flatten(arr));
3、短路条件句
如果你想在某个条件逻辑值为true时,执行某个函数,就像这样:
if (condition) {dosomething()
}
这时,你可以这样子运用短路:
condition && dosomething()
4、字符串中取数字
//String.match(/\d+/g)
"共 140 条111".match(/\d+/g) //["140", "111"]
5、字符串排序
var arr = [{menu: "171001"},{menu: "171003"},{menu: "171002"},{menu: "17100201"},{menu: "171004"},{menu: "17100202"}
]
var newArr = arr.sort(function(a,b){return a.menu.localeCompare(b.menu)})
console.log(newArr)
js代码优化(不定时更新)相关推荐
- 微信小程序:后台数据库与云数据库对比取最后一个值并且取用定时更新
微信小程序:后台数据库与云数据库对比取最后一个值并且取用定时更新的方式来现在在前端网页上 我们有时候会遇到这样的问题,在后台数据库提取到数据后想要提取他们中的某些有共同特征的一些数据,这时候我们就可以 ...
- apue第四章习题的一些拙见(不定时更新)
写在前面:最近要期末考试,看来真的是要不定时更新啦XD apue4.1: 由于在这里lstat是不跟随符号文件的,而stat是跟随符号文件的,这样一来,如果使用stat,而不使用lstat那么就无法观 ...
- [Android Traffic] 调整定时更新的频率(C2DM与退避算法)
转载自: http://blog.csdn.net/kesenhoo/article/details/7395253 Minimizing the Effect of Regular Updates[ ...
- 【PaddlePaddle系列】报错解决方法合集 (不定时更新)
[PaddlePaddle系列]报错解决方法合集 (不定时更新) 参考文章: (1)[PaddlePaddle系列]报错解决方法合集 (不定时更新) (2)https://www.cnblogs.co ...
- TensorFlow 常见错误与解决方法——长期不定时更新
TensorFlow 常见错误与解决方法--长期不定时更新 参考文章: (1)TensorFlow 常见错误与解决方法--长期不定时更新 (2)https://www.cnblogs.com/seni ...
- 博客搬家了--这次搬进自己家的了,不过博客园的会定时更新!新家地址: http://blog.woshimaijia.com/...
博客搬家了--这次搬进自己家的了,不过博客园的会定时更新! 新家地址: http://blog.woshimaijia.com/ 博客园的博客很稳定,也是我很喜欢的地方 这里的文章我也会陆续更新的.. ...
- Python3高并发定时更新任务进程池和线程池的使用
Python3高并发定时更新任务进程池和线程池的使用 背景:需要定时对数据库的某一张表做更新 不管用多线程还是多进程只能利用当前一台机器的计算能力,可以考虑使用celery这样的工具,后期可以横向扩展 ...
- 前端知识点总结——JS高级(持续更新中)
前端知识点总结--JS高级(持续更新中) 1.字符串 什么是: 连续存储多个字符的字符数组 相同: 1. 下标 2. .length 3. 遍历 4. 选取: slice(starti[, endi] ...
- [react] 怎么定时更新一个组件?
[react] 怎么定时更新一个组件? class Clock extends React.Component{constructor(props){super(props);this.state={ ...
- 不重启服务如何定时更新进程中的一个对象
场景: 主进程中初始化了一个对象(C++模块的对象,占用内存比较大,因为加载了一个很大的词表),然后启动子进程,并在子进程中使用这个对象,子进程对这个对象只读,不写 这个对象需要周期性的更新,因为要在 ...
最新文章
- Redis 常用监控信息命令总结
- hihocoder #1015 : KMP算法
- 【Elasticsearch】Elasticsearch 分布式一致性原理分析:元数据
- 大数据_Hbase-内容回顾_知识点补充_线程安全与wait的区别---Hbase工作笔记0019
- django发送邮件结合itsdangerous+celery+redis
- 欧几里德算法(求最大公约数和最小公倍数)
- List集合去重的几种方法
- 三星+t800+原生android,三星T800(GALAXY Tab S WLAN版)一键救砖教程,轻松刷回官方系统...
- 网络安全防护体系建设
- 免费的注册表修复工具推荐
- 双硬盘双系统(windows10+deepin)
- 指数解读:沪深300(CSI300)[000300](续)
- 什么是元数据(Metadata)
- 定时任务的多种实现——xxl-job
- Flutter 游戏引擎 flame
- 【Android开发经验】Android移动UI设计经验总结
- 【SQLite3+Qt开发】SQLite3简要介绍+在Qt5中的使用步骤
- php开启curl,给PHP安装和开启curl扩展
- Egret(白鹭引擎)——Egret+fairyGui 实战项目入门
- elementui upload与form一起提交
热门文章
- hiho1482出勤记录II(string类字符串中查找字符串,库函数的应用)
- python爬虫:读取PDF
- 选课 topsort
- 十二生肖swift1.2
- 2008年具有高校自主选拔录取资格的考生名单 - 江苏版
- [Math]添加了一个EulerProject标志
- PHP 使用mysqli与MySQL交互
- CSS基础「七」精灵图 \ 字体图标 \ 三角 \ 用户界面样式 \ 页面初始化
- 求链式线性表的倒数第K项 (20 分)
- html设置json请求头,当我想在zf2客户端代码中使用“application/json”时,接受请求标头是“text/html,application/xhtm ...(etc)”...