阵列中的那些三重点是什么?用评论标记它

what are those triple dot inside the array? marked it with a comment

我正在学习如何在 nodejs 中进行网络抓取,并遇到了这种数组。什么意思?

articles = [               //WHAT IS THIS
    ...articles,
    ...new_articles
];

当我们在代码中看到三个点 (...) 时,它要么是剩余参数,要么是扩展运算符。

Rest parameters:当三个点(…)在函数参数的末尾时,它将把参数列表的其余部分收集到一个数组中。

spread operator:将数组(或所有可迭代对象)的元素扩展到多个元素可以容纳的位置。

yourFunction(arg1, arg2, ...argN) { // used like rest parameter here
  console.log(arg1);
  console.log(arg2);
  console.log(argN);
}

var inputs = ["a", "b", "c", "d", "e", "f"];
yourFunction(...inputs); // used like spread operator here

传播运算符的另一个例子:

const array1 = ['item1', 'item2', 'item3'];
const array2 = ['item5', 'item6', 'item7'];

const items = [...array1, 'item4', ...array2];

console.log(items);
// 'item1', 'item2', 'item3', 'item4', 'item5', 'item6', 'item7'