菜鸟笔记007 [...c(e), ...d(i)]数组的新用法

JavaScript 的 展开语法(Spread Syntax)

n = [...c(e), ...d(i)];

解释:

  1. c(e) 和 d(i):

    • 这是两个函数调用,c 和 d 是函数,分别接收参数 e 和 i。

    • 假设这两个函数返回的是 数组(如果不是数组会报错)。

  2. ...c(e) 和 ...d(i):

    • ... 是展开语法,它会将数组"展开"为逗号分隔的元素列表。

    • 例如,如果 c(e) 返回 [1, 2],...c(e) 就相当于 1, 2。

  3. [...c(e), ...d(i)]:

    • 这里用 [] 创建了一个新数组,内容是将 c(e) 和 d(i) 返回的两个数组的所有元素合并到一起。

    • 例如:

      • 如果 c(e) 返回 [1, 2],d(i) 返回 [3, 4],

      • 那么 [...c(e), ...d(i)] 的结果是 [1, 2, 3, 4]。

  4. 最终赋值:

    • 合并后的新数组会被赋值给变量 n。

等价写法(传统方式):

如果不使用展开语法,可以用 concat 实现相同功能:

n = c(e).concat(d(i));

注意事项:

  • c(e) 和 d(i) 必须返回可迭代对象 (通常是数组),否则会报错(如 TypeError)。

  • 展开语法是 ES6(ES2015)的特性,在现代浏览器和 Node.js 中广泛支持。

示例:

const c = (x) => x, x + 1; // 返回数组 x, x+1

复制代码
const d = (y) => [y * 2];      // 返回数组 [y*2]

const e = 1, i = 3;
const n = [...c(e), ...d(i)];  // 展开后是 [1, 2, 6]
console.log(n);                // 输出: [1, 2, 6]

总结:这行代码的作用是 合并两个函数返回的数组 ,并将结果赋值给 n。

相关推荐
问心无愧0513几秒前
[ACTF2020 新生赛]Exec
运维·服务器·笔记
YSL07012410 分钟前
一文通关-----栈和队列
开发语言·数据结构
维克兜率天20 分钟前
【维克】统计套利建模:从因子到信号的完整流程
android·开发语言·python·算法·kotlin
水饺编程20 分钟前
第2章:Linux 基础,echo 命令
linux·c语言·汇编
Pin_Qing25 分钟前
同一天,谷歌半价卖旗舰,阶跃翻倍收缓存
大数据·开发语言·人工智能·程序人生·缓存
daols8828 分钟前
vue 甘特图组件 vxe-gantt 修改滚动条样式-让滚动条自动隐藏
javascript·vue.js·甘特图
2501_9307077830 分钟前
使用C#代码在 Word 文档中添加、插入或删除页面
开发语言·c#·word
没有梦想的咸鱼185-1037-166333 分钟前
从通量数据到SCI论文——AI-R语言生态系统碳水热通量及其机制分析与论文
开发语言·人工智能·数据分析·r语言
weixin_4617694040 分钟前
conda create 创建容器 Failed to resolve ‘repo.anaconda.com‘问题
开发语言·python·conda·repo·网络问题·无法创建
Want59541 分钟前
Python生日蛋糕
开发语言·python