AI 漫天,我们坚持手做论坛。

新加坡 10-31 16:13 · 吉隆坡 16:13 · 雅加达 15:13 · 曼谷 15:13 · 马尼拉 16:13 · 胡志明 15:13 · 北京 16:13 · 东京 17:13 · 伦敦 08:13 · 纽约 04:13

JavaScript取数组末项:at(-1)和数组[-1]不是同一种访问

#JavaScript#数组#教学

1
美国 · 中文 · r/成长 · Amy · 声望 742 · 10-31 13:35 新 · 帖子

Amy 原创整理|资料核验:2026-10-31

MDN说明,Array.prototype.at支持负数下标,从数组末尾向前计数。因此at(-1)读取最后一项;越界时返回undefined。

原创教学示例:const values = [10, 20]; values.at(-1)得到20,而values[-1]在这个数组上得到undefined。原因是方括号里的-1访问名为'-1'的普通属性,并不会自动转成“最后一项”的位置。

Amy建议:读取最后一项后仍要处理空数组。[].at(-1)也是undefined,不能直接假定它一定是对象并继续访问属性。把非空数组、空数组和越界位置各检查一次,能更容易发现边界问题。

官方来源:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at

回复

还没有回复。

广告由 Google AdSense 投放,标为广告,与帖子分开。请勿点击自己的广告,也不要请别人点。行情讨论不是荐股。本地服务帖写地点和价格,线下交易注意安全。

关于 · 隐私 · 联系 · 版规