首页 > web前端 > js教程 > 正文

扩展运算符_JS数组操作技巧

夢幻星辰
发布: 2025-11-18 20:29:02
原创
237人浏览过
扩展运算符(...)可展开可迭代对象,简化数组合并、复制、类数组转换及函数传参。1. 合并数组:[...arr1, ...arr2]更直观;2. 浅拷贝:[...arr]避免引用共享;3. 转类数组为数组:[...arguments]或[...NodeList];4. 替代apply:Math.max(...numbers)更简洁。仅展开一层,深层需递归。

扩展运算符_js数组操作技巧

扩展运算符(Spread Operator)是 JavaScript 中一个非常实用的语法,用三个点(...)表示,能将可迭代对象(如数组、字符串、类数组对象)展开为独立元素。在数组操作中,它极大简化了常见任务,提升代码可读性和效率。

1. 合并数组

传统方式合并数组需要使用 concat() 方法,而扩展运算符更直观简洁。

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const merged = [...arr1, ...arr2];
// 结果:[1, 2, 3, 4, 5, 6]

你还可以在合并时插入额外元素:

const withExtra = [...arr1, 0, ...arr2];
// 结果:[1, 2, 3, 0, 4, 5, 6]

2. 复制数组(浅拷贝)

避免直接赋值导致引用共享问题,扩展运算符可快速创建新数组。

const original = [1, 2, 3];
const copy = [...original];
copy.push(4);
// original 不受影响:[1, 2, 3]
// copy:[1, 2, 3, 4]

这是实现数组浅拷贝最简洁的方式之一。

3. 将类数组对象转为数组

arguments 或 DOM 的 NodeList 是类数组,无法直接使用数组方法。扩展运算符可轻松转换。

可图大模型
可图大模型

可图大模型(Kolors)是快手大模型团队自研打造的文生图AI大模型

可图大模型 110
查看详情 可图大模型
function example() {
  const args = [...arguments];
  return args.map(x => x * 2);
}
example(1, 2, 3); // [2, 4, 6]

同样适用于获取所有 div 元素并转为数组:

const divs = [...document.querySelectorAll('div')];

4. 替代 apply 处理函数参数

过去调用函数传入数组参数需用 apply,现在更简单。

const numbers = [2, 5, 1];
const max = Math.max(...numbers);
// 结果:5

无需再写 Math.max.apply(null, numbers),代码更清晰。

基本上就这些。扩展运算符让 JS 数组操作变得更自然流畅,掌握它能显著提升编码效率。不复杂但容易忽略细节,比如它只能做一层展开,深层结构仍需递归处理。

以上就是扩展运算符_JS数组操作技巧的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号