本文摘自PHP中文网,作者青灯夜游,侵删。
本篇文章给大家介绍一下JavaScript中使用扩展运算符的10种方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。复制数组
我们可以使用展开操作符复制数组,不过要注意的是这是一个浅拷贝。
1 2 3 4 |
|
这样我们就可以复制一个基本的数组,注意,它不适用于多级数组或带有日期或函数的数组。
合并数组
假设我们有两个数组想合并为一个,早期间我们可以使用concat
方法,但现在可以使用展开操作符:
1 2 3 4 5 |
|
我们还可以通过不同的排列方式来说明哪个应该先出现。
1 2 3 |
|
此外,展开运算符号还适用多个数组的合并:
1 |
|
向数组中添加元素
1 2 3 4 |
|
向对象添加属性
假设你有一个user
的对象,但它缺少一个age
属性。
1 2 3 4 |
|
要向这个user
对象添加age
,我们可以再次利用展开操作符。
1 |
|
使用 Math() 函数
假设我们有一个数字数组,我们想要获得这些数字中的最大值、最小值或者总和。
1 |
|
为了获得最小值,我们可以使用展开操作符和 Math.min
方法。
1 2 3 4 |
|
同样,要获得最大值,可以这么做:
1 2 3 4 |
|
如大家所见,最大值5
,如果我们删除5
,它将返回3
。
你可能会好奇,如果我们不使用展开操作符会发生什么?
1 2 3 4 |
|
这会返回NaN,因为JavaScript不知道数组的最大值是什么。
rest 参数
假设我们有一个函数,它有三个参数。
1 2 3 4 5 |
|
我们可以按以下方式调用这个函数:
1 |
|
但是,如果我们要传递一个数组会发生什么。
1 |
|
我们可以使用展开操作符将这个数组扩展到我们的函数中。
1 2 3 4 |
|
这里,我们将数组分为三个单独的参数,然后传递给函数。
1 2 3 4 5 6 7 8 9 10 |
|
向函数传递无限参数
假设我们有一个函数,它接受无限个参数,如下所示:
1 2 3 |
|
如果我们现在调用这个带有多个参数的函数,会看到下面的情况:
1 |
|
返回:
1 2 3 4 5 6 7 |
|
然后,我们就可以动态地循环遍历参数。
将 nodeList 转换为数组
假设我们使用了展开运算符来获取页面上的所有p
:
1 2 3 |
|
在这里可以看到我们从dom中获得了3个p
。
现在,我们可以轻松地遍历这些元素,因为它们是数组了。
1 2 3 4 5 6 7 |
|
解构对象
假设我们有一个对象user
:
1 2 3 4 5 |
|
现在,我们可以使用展开运算符将其分解为单个变量。
1 2 3 4 5 |
|
这里,我们解构了user
对象,并将firstname
解构为firstname
变量,将对象的其余部分解构为rest
变量。
展开字符串
展开运算符的最后一个用例是将一个字符串分解成单个单词。
假设我们有以下字符串:
1 |
|
然后,如果我们对这个字符串使用展开操作符,我们将得到一个字母数组。
1 2 3 4 |
|
~ 完
原文地址:https://dev.to/dailydevtips1/10-ways-to-use-the-spread-operator-in-javascript-1imb
作者:Chris Bongers
译文地址:https://segmentfault.com/a/1190000038998504
更多编程相关知识,请访问:编程视频!!
以上就是详解JavaScript扩展运算符的10种用法(总结)的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
更多相关阅读请进入《javascript》频道 >>

Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者