如何选择数组中的最后一项? [复制]

Posted

技术标签:

【中文标题】如何选择数组中的最后一项? [复制]【英文标题】:How to select the last thing in an array? [duplicate] 【发布时间】:2013-12-27 02:32:00 【问题描述】:
var myarray = [];

var result1 = myarray[0];
var result2 = myarray[1];
var result3 ....etc...

选择第一个很容易,因为它只是 0。如何将最后一个放入 var?这似乎是一个简单的问题,但我一定是在谷歌上搜索错误,因为我找不到任何有效的答案。

【问题讨论】:

【参考方案1】:
var last = myarray[myarray.length - 1];

Documentation

【讨论】:

developer.mozilla.org/en-US/docs/Web/javascript/Reference/… @KevinB 是的,更好 先检查数组是否为空如何? @RobinSalih 问题是“如何选择最后一件事”。空数组没有“最后一件事”。事实上,实现应该始终检查这一点。 如果数组为空,您将正确地得到未定义。我认为这没有问题。【参考方案2】:

myarray.length 返回数组的长度,因为元素从 0 开始,减去 1 将得到最后一个元素的索引

var lastresult = myarray[myarray.length - 1];

【讨论】:

【参考方案3】:

试试这个:

var l= myarray[myarray.length - 1];

检查这个MDN

【讨论】:

【参考方案4】:
var lastelement = myarray[myarray.length - 1]

【讨论】:

另外,这是重复的:***.com/questions/3216013/…【参考方案5】:

一种方法是做这样的事情

var lastElement = myArray[myarray.length-1]

不要想太多。数组在 javascript 中的索引可能为 0,但这仅意味着最后一个索引必须是数组的长度 -1。

【讨论】:

【参考方案6】:

就这个:

var lastResult = myarray[myarray.length - 1];

您可以创建原型以更简单地完成此操作。例如:

if (!Array.prototype.last)
  Array.prototype.last = function()
    return this[this.length - 1];
  ;
;

比使用

myarray.last();

【讨论】:

根据 mdn 扩展原生原型是不好的做法:developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/… 你不必这样做:last = lastInArray.call(arr,arr); 仍然有你的方法使用this【参考方案7】:

您可以使用数组原型方法.pop() 但这会从数组中删除最后一项

var lastElement = myarray.pop();

或者将数组包裹在 jq 对象中:

var lastElement = $(myarray).get(-1);

【讨论】:

鉴于该问题并未表明任何有关更改 myarray 内容的内容,因此此答案确实不正确。 获取(“选择”)不应产生副作用。 @admdrew 对不起,我的问题,误读了【参考方案8】:

我可能错了,所以也许其他人可以告诉我我是对还是错,但你不能这样做:

var last = myArray[-1]

?

编辑:我错了。无视我。

另外,出于好奇,使用起来会不会更快

var lastelement = myarray[myarray.length - 1];

var lastelement = myarray.reverse[0];

?

【讨论】:

so perhaps someone else can tell me if I'm right or wrong 当你自己尝试这个时会发生什么? :) 这将返回 undefined,因为 -1 不是 JavaScript 数组的有效索引。 嗯,刚刚测试过了。我得到'未定义'。我真的认为这是可能的。 负索引仅在 jquery 中有效:$(array).get(-1); 是的。我对此做了更多的挖掘。事实证明,负索引可用于将属性分配给数组对象,但它们不会影响长度。这个线程很好地解释了它。 ***.com/questions/13618571/….

以上是关于如何选择数组中的最后一项? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

C# Unity如何只选择数组中的一项并取消选择其他项

如何从 Python 中的数组中选择随机元素? [复制]

如何取消设置多维数组中的最后一项?

如何通过参数(SQL)查找最后一项? [复制]

如何在 C# 数组字符串中选择 5 位随机数? [复制]

Kotlin 数组中的所有项始终包含最后一项