菜鸟笔记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。

相关推荐
1-1=01 小时前
C# 委托与事件
开发语言·c#
Fuyo_11191 小时前
C++ 运行时多态与虚函数机制全面剖析【面试重点】
开发语言·c++·面试
§ꦿCFོ༉1 小时前
嵌入式八股—C语言入门学习(一)
c语言·编程语言·嵌入式八股文
w_zero_one2 小时前
递归算法(一)
java·开发语言·算法
OpsEye2 小时前
大模型 Token 计量不准,是什么原因,怎么解决??
javascript·ai编程
Zhao-Jichao2 小时前
AI Prompting for Everyone 课程笔记 - P21 总结 Conclusion
人工智能·笔记
欢欢李2 小时前
【LTE L3 笔记 05】LTE同步信号
笔记·无线通信·物理层·lte·空口协议
Julien20043 小时前
管理机密(一)
运维·服务器·开发语言·学习方法
Chen_harmony3 小时前
七、STL与string类
开发语言·c++
沐晓时光3 小时前
C语言入门,字符串和字符串函数知识讲解
c语言·开发语言