首页 > 解决方案 > 如何使用解构获取数组的最后一个元素

问题描述

我在学习ES6 Destructuring

我收到一个错误Rest element must be last element

这是我现在拥有的

const siblings = ['John','Jack','Amanda','Allie','Bob']

let [firstSiblingName,...middleAllSiblingsName,lastSiblingName] = siblings
console.log(lastSiblingName)

我想要的是

firstSiblingName = 'John'
middleAllSiblingsName = ['Jack','Amanda','Allie']
lastSiblingName = 'Bob'

如果我删除lastSiblingName,那么它可以工作,但这样我就不能单独获得最后一个元素。

我做错了什么,以及如何使其达到所需的输出。

标签: javascriptarraysecmascript-6destructuring

解决方案


你不能,不能单独使用 rest 语法——rest 总是会消耗数组的所有其余元素。在提取中间元素后,您必须改为.pop()最后一个元素:

const siblings = ['John','Jack','Amanda','Allie','Bob'];

let [firstSiblingName,...middleAllSiblingsName] = siblings;
const lastSiblingName = middleAllSiblingsName.pop();
console.log(lastSiblingName)


推荐阅读