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

JavaScript 的 展开语法(Spread Syntax)

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

解释:

  1. c(e)d(i)

    • 这是两个函数调用,cd 是函数,分别接收参数 ei

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

  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

相关推荐
草莓熊Lotso几秒前
【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day16
c语言·开发语言·经验分享·算法·强化
yzx9910133 分钟前
使用Python和GitHub构建京东数据自动化采集项目
c语言·开发语言·人工智能·python
yannan2019031313 分钟前
【Python】QT(PySide2、PyQt5):Qt Designer,VS Code使用designer,可能的报错
开发语言·python·qt
小牛历险记13 分钟前
手表--带屏幕音响-时间制切换12/24小时
c语言·开发语言·c·学习方法
一只咸鱼大王43 分钟前
C++ constexpr:编译时计算的高效秘籍
开发语言·c++
程序员小杰@1 小时前
【MCP系列教程】 Python 实现 FastMCP StreamableHTTP MCP:在通义灵码 IDE 开发并部署至阿里云百炼
开发语言·python·阿里云
神里流~霜灭1 小时前
Fourier 级数展开(案例:级数展开 AND 求和)
c语言·c++·算法·matlab·fourier 级数展开·级数展开求和·fourier算法
yipiantian2 小时前
hive udf函数实现在sql查询网站价格
笔记
纪东东2 小时前
做一个实用的节假日工具
java·开发语言
摘星编程2 小时前
Python 多线程日志错乱:logging.Handler 的并发问题
java·开发语言·python·python多线程·queuehandler