在JavaScript中使用Spread运算符的8种方法

开发 前端
了解如何在JavaScript中使用Spread(延展操作)运算符。ES6中引入了延展操作运算符(...)。延展操作运算符将可迭代的对象扩展为其单独的元素,可迭代对象是可以使用 for 循环进行循环的任何对象。可迭代的示例:Array,String,Map,Set,DOM节点。

 了解如何在JavaScript中使用Spread(延展操作)运算符。

[[330562]]

ES6中引入了延展操作运算符(...)。

延展操作运算符将可迭代的对象扩展为其单独的元素,可迭代对象是可以使用 for 循环进行循环的任何对象。

可迭代的示例:Array,String,Map,Set,DOM节点。

1.在log中使用延展操作运算符

你可以在 console.log 中对可迭代对象使用延展操作操作符

 

let fruits = ['🍈''🍉''🍋''🍌']; 
console.log(...fruits); //🍈 🍉 🍋 🍌 
  • 1.
  • 2.

2.用延展操作运算符复制数组

 

let fruits = ['🍈''🍉''🍋''🍌']; 
let fruitsCopy = [ ...fruits ]; 
console.log(...fruitsCopy); //🍈 🍉 🍋 🍌 
  • 1.
  • 2.
  • 3.

复制对象

 

let user = {name : "John", age : 20 } 
let userCopy = {...user
  • 1.
  • 2.

延展操作运算符不执行深度复制。

3.延展操作运算符合并

 

let fruits = ['🍈''🍉''🍋''🍌']; 
let vegetables = ['🍅''🍆''🥒']; 
let fruitsAndVeg = [...fruits, ...vegetables] 
  • 1.
  • 2.
  • 3.

合并对象

合并对象时,如果已经存在某个键,则将其替换为具有相同键的最后一个对象。

 

let user1 = {name : "John", age : 20 }; 
let user2 = {name : "Ram", salary: '20K' }; 
let userCopy = {...user1, ...user2}; 
userCopy ; // {name : "Ram", age :20 , salary : '20K'}; 
  • 1.
  • 2.
  • 3.
  • 4.

4.延展操作运算符作为参数传递

 

function sum(a, b) { 
   return a+b; 

let num = [1,2]; 
sum(...num); // 3 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

与 math 函数一起使用

 

let num = [5,9,3,5,7]; 
Math.min(...num); 
Math.max(...num); 
  • 1.
  • 2.
  • 3.

5.延展操作运算符在解构变量中

 

let [Melon, ...fruits ] = ['🍉''🍋''🍌''🍊']; 
Melon; //🍉 
fruits; // [ '🍋''🍌''🍊'
  • 1.
  • 2.
  • 3.

解构对象

 

let user = {name : "Ram", age: 20, salary: '20K', job : "Tester" }; 
let { name, age, ...details } = user
name; // Ram 
age; // 20 
details; // {salary: '20K', job : 'Tester'}; 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

6.将NodeList对象转换为数组

NodeList类似于数组,但是没有 Array 的所有方法,例如 forEach,map,filter 等。

 

let nodeList = document.querySelectorAll('.class'
var nodeArray = [...nodeList] 
  • 1.
  • 2.

7.将字符串转换为字符

字符串也是可迭代的对象,因此我们也可以使用 ... 来字符串。

 

let name = "Ram"
let chars = [...name]; // ["R""a""m"
  • 1.
  • 2.

8.从数组中删除重复项

 

let num = [1, 3, 1, 3, 3, 1]; 
let uniqueNum = [...new Set(num)]; 
uniqueNum; //[ 1, 3 ] 
  • 1.
  • 2.
  • 3.

 

责任编辑:华轩 来源: 前端全栈开发者
相关推荐

2020-06-04 08:17:44

JavaScript延展操作运算符开发

2021-02-04 07:54:40

JS工具扩展运算符

2024-02-26 15:17:20

2021-07-12 15:35:56

JavaScript代码运算符

2018-12-14 10:00:16

BashLinux命令

2022-09-07 00:04:37

JavaScript运算符技巧

2021-05-07 06:27:29

JavaScript运算符开发

2021-02-20 23:34:22

JavaScript运算符开发

2024-06-11 14:57:00

2023-10-04 00:01:00

sizeofC 语言

2017-05-11 16:38:07

javascript逻辑运算符

2025-02-24 11:16:20

2013-08-26 09:51:57

2023-04-10 08:58:13

C#关系运算符

2009-08-11 15:51:08

C#运算符算术运算符

2020-10-15 08:11:56

JavaScript逻辑运算符

2009-08-12 15:02:49

C#赋值运算符简单赋值运算符

2009-08-12 15:20:18

C#赋值运算符复合赋值运算符

2022-04-11 09:37:49

商业智能CIO

2009-11-18 09:37:31

PHP逻辑运算符
点赞
收藏

51CTO技术栈公众号