JavaScript 数组精简技巧大全
68 浏览量
更新于2024-08-30
收藏 540KB PDF 举报
javascript 数组精简技巧小结
javascript 中的数组是最常见的一种数据结构,开发中经常用到数组。在这篇文章中,我们将提供一些小技巧,帮助提高开发效率。
**1. 删除数组的重复项**
删除数组中的重复项可以使用 Set 数据结构和展开运算符来实现。例如,`[...new Set(arr)]`,其中 `arr` 是要删除重复项的数组。
**2. 替换数组中的特定值**
有时在创建代码时需要替换数组中的特定值,可以使用 `splice` 方法。例如,`arr.splice(start, valueToRemove, valueToAdd)`,其中 `start` 是要开始修改的索引,`valueToRemove` 是要删除的值,`valueToAdd` 是要添加的新值。
**3. Array.from 达到 .map 的效果**
`.from()` 方法可以用来获得类似 `.map()` 方法的效果且代码也很简洁。例如,`Array.from(arr, x => x * 2)`,其中 `arr` 是要处理的数组。
**4. 置空数组**
有时候我们需要清空数组,一个快捷的方法就是直接让数组的 `length` 属性为 0,例如,`arr.length = 0`。
**5. 将数组转换为对象**
有时候,出于某种目的,需要将数组转化成对象,一个简单快速的方法是使用展开运算符号 `...`,例如,`{ ...arr }`。
**6. 用数据填充数组**
在某些情况下,当我们创建一个数组并希望用一些数据来填充它,这时 `.fill()` 方法可以帮助我们。例如,`arr.fill(value, start, end)`,其中 `value` 是要填充的值,`start` 是要开始填充的索引,`end` 是要结束填充的索引。
**7. 数组合并**
使用展开操作符,也可以将多个数组合并起来。例如,`[...arr1, ...arr2, ...arr3]`,其中 `arr1`、`arr2`、`arr3` 是要合并的数组。
**8. 求两个数组的交集**
求两个数组的交集可以使用 `.filter()` 方法和 `.includes()` 方法。例如,`arr1.filter(x => arr2.includes(x))`,其中 `arr1` 和 `arr2` 是要求交集的数组。
**9. 从数组中删除虚值**
在 JS 中,虚值有 `false`, `0`, `''`, `null`, `NaN`, `undefined`。我们可以使用 `.filter()` 方法来过滤这些虚值。例如,`arr.filter(x => x)`,其中 `arr` 是要过滤的数组。
**10. 从数组中获取随机值**
有时我们需要从数组中随机选择一个值。一种方便的方法是可以根据数组长度获得一个随机索引。例如,`arr[Math.floor(Math.random() * arr.length)]`,其中 `arr` 是要选择的数组。
**11. 反转数组**
现在,我们需要反转数组时,没有必要通过复杂的循环和函数来创建它,数组的 `reverse` 方法就可以做了。例如,`arr.reverse()`,其中 `arr` 是要反转的数组。
**12. lastIndexOf() 方法**
`lastIndexOf()` 方法可以用来查找数组中某个值最后一次出现的索引。例如,`arr.lastIndexOf(value)`,其中 `arr` 是要查找的数组,`value` 是要查找的值。
**13. 对数组中的所有值求和**
JS 面试中也经常用 `reduce` 方法来巧妙的解决问题。例如,`arr.reduce((a, b) => a + b, 0)`,其中 `arr` 是要求和的数组。
2022-05-31 上传
2024-03-02 上传
2010-08-30 上传
2023-03-20 上传
2023-10-11 上传
2023-07-28 上传
2024-04-14 上传
2023-03-21 上传
2023-07-28 上传
weixin_38580759
- 粉丝: 4
- 资源: 971
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展