首页 > 其他分享 >{文章标题}

{文章标题}

时间:2024-09-20 19:15:44浏览次数:8  
标签:... const log 标题 运算符 数组 文章 console

 

零食故事:
假设您有一篮子零食:

const snacks = ['apple', 'banana', 'chocolate'];

现在,您想与您的朋友分享这些零食。但你不是把整个篮子都给他们,而是把每件零食都拿出来,一一递给他们:

console.log(...snacks);  // output: apple banana chocolate

...(摊开)操作符就像是把零食从篮子里拿出来摊在桌子上。您的朋友现在可以单独领取它们!

另一方面,如果你的朋友带来了更多零食,你可以使用 ...(休息)运算符将它们全部收集到一个大篮子中:

function collectsnacks(...moresnacks) {
  console.log(moresnacks);
}

collectsnacks('cookie', 'chips', 'juice');  // output: ['cookie', 'chips', 'juice']

在这里,...操作员将所有零食收集到一个新篮子中。这就是剩余运算符的工作原理!

如果您是 javascript 新手,您可能遇到过两个特殊的语法元素:扩展运算符和剩余运算符。它们看起来都一样——三个点 (...)——但它们的使用方式不同。让我们用简单的例子来分解它们!

1。什么是展开运算符?
扩展运算符 (...) 用于将数组或对象扩展为单个元素。这就像将数组或对象解包到其组件中。

示例:扩展数组
假设您有一个数字数组,并且您想将它们单独传递到一个函数中。

const numbers = [1, 2, 3];
console.log(...numbers);  // output: 1 2 3

您可以使用展开运算符来展开数组元素!

立即学习“Java免费学习笔记(深入)”;

示例:组合数组
如果您有两个数组并想要合并它们,扩展运算符会让这一切变得简单:

const array1 = [1, 2, 3];
const array2 = [4, 5, 6];

const mergedarray = [...array1, ...array2];
console.log(mergedarray);  // output: [1, 2, 3, 4, 5, 6]

这就像将 array1 和 array2 中的所有元素放置到一个新数组中。

示例:复制对象
您还可以对对象使用扩展运算符:

const user = { name: "ahmed", age: 25 };
const updateduser = { ...user, location: "bengaluru" };

console.log(updateduser);
// output: { name: "ahmed", age: 25, location: "bengaluru" }

在这里,我们从用户对象复制了属性并添加了新的属性位置。

  1. 什么是 rest 运算符? 剩余运算符与扩展运算符相反。它不是扩展数组或对象,而是将多个元素收集到数组或对象中。

示例:带有剩余参数的函数
想象一下您正在编写一个带有任意数量参数的函数:

function addnumbers(...nums) {
  return nums.reduce((sum, current) => sum + current, 0);
}

console.log(addnumbers(1, 2, 3, 4));  // output: 10

在这种情况下,剩余运算符 ...nums 将所有参数收集到一个数组中,从而更容易使用多个值。

示例:休息解构
解构数组时还可以使用剩余运算符:

const [first, ...rest] = [1, 2, 3, 4];
console.log(first);  // Output: 1
console.log(rest);   // Output: [2, 3, 4]

这里,首先获取数组的第一个元素,剩下的将剩余元素收集到一个新数组中。

结论
展开和休息运算符是 javascript 中强大且多功能的工具。回顾一下:

  • spread (...) 将数组或对象扩展为单个元素。
  • rest (...) 将多个元素收集到一个数组或对象中。

希望你理解传播和休息这两个概念,它会让你的 javascript 代码更加简洁,更容易阅读!

编码愉快:)

以上就是JavaScript 中的展开和休息运算符的详细内容,更多请关注我的其它相关文章!

标签:...,const,log,标题,运算符,数组,文章,console
From: https://www.cnblogs.com/aow054/p/18423100

相关文章

  • 写手代写平台,代写文章平台
    写手代写平台为有代写需求的人提供便捷途径,通常汇集众多写手,能依据顾客需求提供各类代写服务。以下是笔小优整理的关于写手代写平台的介绍:一、写手代写平台类型1.综合型写作平台:例如Upwork、自由职业者等,这些写作平台不仅提供代写服务,还包括了设计、编程、翻译等多种自由职......
  • 文章代写平台,代写事迹特点分享
    事迹的记载和宣扬在社会中具有至关重要的意义。它不仅能够大力弘扬社会美德,更能激励人们积极向上、向善而行。通过广泛宣传先进事迹,可以有效地引导大众树立正确的世界观、人生观和价值观,进而推动社会和谐稳定发展。笔小优精心整理出以下关于代写事迹的主要特点:一、真实可靠......
  • C#的历史 - .Net宣传系列文章
          这次记录C#的历史情况。 1、C#版本1.0;C#1.0是微软在.NET平台推出的第一个版本的C#语言,它与.NETFramework1.0一同发布于2002年2月13日。这个版本的C#语言设计目标是成为一种“简单、现代、通用的面向对象的语言”,并且与Java有很多相......
  • Day01-标题、字体、引用、分割线、图片、超链接、列表、表格、代码
    Day01-标题、字体、引用、分割线、图片、超链接、列表、表格、代码标题一级标题:一个井号空格回车二级标题:两个井号空格回车二级标题三级标题:三个井号空格回车三级标题......(最多到6级标题)字体HelloWorld!!!!!!!斜体:字体两......
  • 程序员编写技术文章需要的四个辅助神器 ,强烈建议收藏 !
    编写技术文章是程序员分享经验和记录学习成果的重要方式。为了让写作变得更轻松,有许多实用工具可以帮助提升效率,比如Markdown编辑器、画图工具等。接下来,笔者将介绍四款简单实用的工具,帮助程序员更轻松地编写技术文章。1Typora:Markdown编辑器Typora是一款简洁而功能强......
  • 面试官问:你如何处理与同事或上级的分歧?【无标题】
    面试官问:你如何处理与同事或上级的分歧?当面试官问你如何处理与同事或上级的分歧,其实面试官的目的是评估你的沟通技巧、冲突解决能力和团队合作的能力。在一起共事,就一定有分歧发生,有争执是正常的,关键是看如何去解决问题。考察的事候选人在面对不同意见时的态度,且能不能有效的......
  • 易基因:单细胞甲基化+转录组多组学分析揭示哺乳期母体低蛋白饮食对子代的跨代传递|项目
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。环境因素如饮食和生活方式,可以影响哺乳期母体及其子代的健康,但其跨代传递及潜在机制尚不清楚。研究表明,父母的饮食模式和生活方式可以影响子代的健康;同时大量研究表明孕产妇营养状况与子代健康之间存在相关性。母......
  • 【无标题】
    Spring的异步任务@Async注解用于标注一个方法为异步执行。当调用这个方法时,Spring会启动一个新线程来执行该方法,而调用者不必等待其执行完成。通过@EnableAsync注解启用Spring的异步功能。这个注解通常标注在配置类上。异步方法可以返回void类型Future<T>类型:用于......
  • 标题被工藤新一指出了
    求好元素枚举i,把所有的\(a_{i-1}+a_j(j<i)\)存入哈希表,只算\(a_{i-1}\)是因为只算了从\(i-1\)移到\(i\)的贡献然后再枚举\(p(p<i)\)判断\(a_i-a_p\)的值是否在哈希表里回文分区从两边往中间找unsignedlonglongval(intl,intr){ returnh[r]-h[l-1]*p......
  • 如何编制一份数据分析报表?这篇文章告诉你重点
    在当今数据驱动的时代,数据分析报表成为了企业决策中不可或缺的工具。它不仅可以帮助我们清晰地展现数据,还能揭示数据背后的趋势与问题,为管理者提供有力的支持。那么,如何编制一份高效、准确的数据分析报表呢?本文将从数据分析报表的分类、制作原则以及具体步骤来为你详细解读。数据......