如何使用解构获取数组的最后一个元素
How can I get last element of an array by using Destructuring
我在学习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
那么它就可以工作,但这样我就无法单独获取最后一个元素。
我做错了什么,我怎样才能让它达到要求的输出。
你不能,不能单独使用 rest 语法 - rest 将始终消耗数组其余元素的 all。在提取中间元素之后,您必须 .pop()
最后一个元素:
const siblings = ['John','Jack','Amanda','Allie','Bob'];
let [firstSiblingName,...middleAllSiblingsName] = siblings;
const lastSiblingName = middleAllSiblingsName.pop();
console.log(lastSiblingName)
根据 mdn 只有最后一个参数可以是 "rest parameter"。相反,你可以这样做
const siblings = ['John', 'Jack', 'Amanda', 'Allie', 'Bob']
let [firstSiblingName, , , , lastSiblingName] = siblings
console.log(lastSiblingName)
我在学习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
那么它就可以工作,但这样我就无法单独获取最后一个元素。
我做错了什么,我怎样才能让它达到要求的输出。
你不能,不能单独使用 rest 语法 - rest 将始终消耗数组其余元素的 all。在提取中间元素之后,您必须 .pop()
最后一个元素:
const siblings = ['John','Jack','Amanda','Allie','Bob'];
let [firstSiblingName,...middleAllSiblingsName] = siblings;
const lastSiblingName = middleAllSiblingsName.pop();
console.log(lastSiblingName)
根据 mdn 只有最后一个参数可以是 "rest parameter"。相反,你可以这样做
const siblings = ['John', 'Jack', 'Amanda', 'Allie', 'Bob']
let [firstSiblingName, , , , lastSiblingName] = siblings
console.log(lastSiblingName)