“使用解构赋值配合 rest 操作符来重新分配数组元素”这道题太绕了

题目链接

看懂了例子,但是题目的写法我不懂,看了答案还是不懂。

写这个帖子的时候突然懂了。

答案是这样的:

const source = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
function removeFirstTwo(list) {
  "use strict";
  // change code below this line
  const [a, b, ...arr] = list;
  // change code above this line
  return arr;
}
const arr = removeFirstTwo(source);
console.log(arr); // should be [3,4,5,6,7,8,9,10]
console.log(source); // should be [1,2,3,4,5,6,7,8,9,10];

我一开始有疑问:为什么通过 const [a, b, ...arr] = list 就能让 a = 1, b = 2 了呢?
写这个帖子的时候明白了,是把 source 作为函数 removeFirstTwo 的参数。
但是,为啥不直接写 const [a, b, ...arr] = source,而要引入一个函数,这么麻烦?

函数可以多次调用。如果不写函数,那么你需要用到的时候每次都要写一次等式就会很麻烦,函数只需要函数名加参数就可以了,突出一个简单。(我的理解是这样)

1赞