有人可以解释下面关于 JavaScript 的 concat() 和 slice() 方法的示例吗?

Could someone explain the example below regarding JavaScript's concat() and slice() methods?

我理解 concat() 和 slice() 方法,但我似乎无法理解这个例子,请帮忙!

function remove(array, index) {
  return array.slice(0, index)
    .concat(array.slice(index + 1));
}
console.log(remove(["a", "b", "c", "d", "e"], 2));
// → ["a", "b", "d", "e"]

摘自:Marijn Haverbeke。 “Eloquent JavaScript。”苹果图书。

当试图理解一串复杂的链接在一起的函数调用时,将它们分成不同的行并一次评估它们的作用会很有帮助。 Javascript 从右到左处理调用:

    array.slice(index + 1) // ["d", "e"]
    .concat() // join the previous call's array with the next call
    array.slice(0, index) //  ["a", "b"]
    result ["a","b","d","e"]

我希望这有助于解释这些调用以及正在发生的事情。

array.slice(0, index) // ['a','b']
array.slice(index + 1) // ['d','e']

//then

.concat //they are getting concatinated

[ 'a', 'b', 'd', 'e' ]