javascript 数组精简技巧小结


Posted in Javascript onFebruary 26, 2020

数组是 JS 最常见的一种数据结构,咱们在开发中也经常用到,在这篇文章中,提供一些小技巧,帮助咱们提高开发效率。

1. 删除数组的重复项

javascript 数组精简技巧小结

2. 替换数组中的特定值

有时在创建代码时需要替换数组中的特定值,有一种很好的简短方法可以做到这一点,咱们可以使用.splice(start、value to remove、valueToAdd),这些参数指定咱们希望从哪里开始修改、修改多少个值和替换新值。

javascript 数组精简技巧小结

3. Array.from 达到 .map 的效果

咱们都知道 .map() 方法,.from() 方法也可以用来获得类似的效果且代码也很简洁。

javascript 数组精简技巧小结

4.置空数组

有时候我们需要清空数组,一个快捷的方法就是直接让数组的 length 属性为 0,就可以清空数组了。

javascript 数组精简技巧小结

5. 将数组转换为对象

有时候,出于某种目的,需要将数组转化成对象,一个简单快速的方法是就使用展开运算符号(...):

javascript 数组精简技巧小结

6. 用数据填充数组

在某些情况下,当咱们创建一个数组并希望用一些数据来填充它,这时 .fill()方法可以帮助咱们。

javascript 数组精简技巧小结

7. 数组合并

使用展开操作符,也可以将多个数组合并起来。

javascript 数组精简技巧小结

8.求两个数组的交集

求两个数组的交集在面试中也是有一定难度的正点,为了找到两个数组的交集,首先使用上面的方法确保所检查数组中的值不重复,接着使用.filter 方法和.includes方法。如下所示:

javascript 数组精简技巧小结

9.从数组中删除虚值

在 JS 中,虚值有 false, 0''null, NaN, undefined。咱们可以 .filter() 方法来过滤这些虚值。

javascript 数组精简技巧小结

10. 从数组中获取随机值

有时我们需要从数组中随机选择一个值。一种方便的方法是可以根据数组长度获得一个随机索引,如下所示:

javascript 数组精简技巧小结

11.反转数组

现在,咱们需要反转数组时,没有必要通过复杂的循环和函数来创建它,数组的 reverse 方法就可以做了:

javascript 数组精简技巧小结

12 lastIndexOf() 方法

javascript 数组精简技巧小结

13.对数组中的所有值求和

JS 面试中也经常用 reduce 方法来巧妙的解决问题

javascript 数组精简技巧小结

总结

在本文中,介绍了13个技巧,希望它们可以帮助编写简洁代码,如果你还有更好的办法,欢迎留言讨论。

英文原文:

https://dev.to/duomly/13-useful-javascript-array-tips-and-tricks-you-should-know-2jfo

到此这篇关于javascript 数组精简技巧小结的文章就介绍到这了,更多相关js数组精简内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
学习ExtJS fit布局使用说明
Oct 08 Javascript
javascript中"/"运算符常见错误
Oct 13 Javascript
Jquery 复选框取值兼容FF和IE8(测试有效)
Oct 29 Javascript
JS保留两位小数 四舍五入函数的小例子
Nov 20 Javascript
JavaScript实现简单Tip提示框效果
Apr 20 Javascript
js入门之Function函数的使用方法【新手必看】
Nov 22 Javascript
Vue.js第四天学习笔记(组件)
Dec 02 Javascript
JavaScript 数据类型详解
Mar 13 Javascript
Vue中div contenteditable 的光标定位方法
Aug 25 Javascript
使用Angular 6创建各种动画效果的方法
Oct 10 Javascript
vue+echarts实现可拖动节点的折线图(支持拖动方向和上下限的设置)
Apr 12 Javascript
解决antd Form 表单校验方法无响应的问题
Oct 27 Javascript
vue父子模板传值问题解决方法案例分析
Feb 26 #Javascript
jquery实现直播视频弹幕效果
Feb 25 #jQuery
JavaScript实现打砖块游戏
Feb 25 #Javascript
深入理解Antd-Select组件的用法
Feb 25 #Javascript
京东优选小程序的实现代码示例
Feb 25 #Javascript
手把手带你入门微信小程序新框架Kbone的使用
Feb 25 #Javascript
vue 路由守卫(导航守卫)及其具体使用
Feb 25 #Javascript
You might like
PHP面向对象程序设计之接口用法
2014/08/20 PHP
PHP中怎样防止SQL注入分析
2014/10/23 PHP
PHP实现连接设备、通讯和发送命令的方法
2015/10/13 PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
2016/12/27 PHP
php文件后缀不强制为.php的实操方法
2019/09/18 PHP
Javascript与vbscript数据共享
2007/01/09 Javascript
面向对象的编程思想在javascript中的运用上部
2009/11/20 Javascript
jQuery 操作下拉列表框实现代码
2010/02/22 Javascript
js 控制下拉菜单刷新的方法
2013/03/03 Javascript
JavaScript实现复制功能各浏览器支持情况实测
2013/07/18 Javascript
限制textbox或textarea输入字符长度的JS代码
2013/10/16 Javascript
防止登录页面出现在frame中js代码
2014/07/22 Javascript
Nodejs实现的一个简单udp广播服务器、客户端
2014/09/25 NodeJs
js和jquery如何获取图片真实的宽度和高度
2014/09/28 Javascript
AngularJS入门教程之AngularJS模型
2016/04/18 Javascript
jQuery插件HighCharts绘制的2D堆柱状图效果示例【附demo源码下载】
2017/03/14 Javascript
ES6入门教程之Iterator与for...of循环详解
2017/05/17 Javascript
vue2.0中click点击当前li实现动态切换class
2017/06/21 Javascript
详解weex默认webpack.config.js改造
2018/01/08 Javascript
使用watch监听路由变化和watch监听对象的实例
2018/02/24 Javascript
使用webpack构建应用的方法步骤
2019/03/04 Javascript
Python文件夹与文件的相关操作(推荐)
2016/07/25 Python
python中子类调用父类函数的方法示例
2017/08/18 Python
Python将多份excel表格整理成一份表格
2018/01/03 Python
使用python 对验证码图片进行降噪处理
2019/12/18 Python
Python实现图像的垂直投影示例
2020/01/17 Python
Tensorflow中的dropout的使用方法
2020/03/13 Python
Keras实现DenseNet结构操作
2020/07/06 Python
毕业生的自我鉴定
2013/10/29 职场文书
开办饭店创业计划书
2013/12/28 职场文书
2015年教师新年寄语
2014/12/08 职场文书
先进教师个人事迹材料
2014/12/15 职场文书
2015建军节87周年演讲稿
2015/03/19 职场文书
如何利用Python实现一个论文降重工具
2021/07/09 Python
Redis做数据持久化的解决方案及底层原理
2021/07/15 Redis
OpenFeign实现远程调用
2022/08/14 Java/Android