如何选择数组中的最后一项? [复制]
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/….以上是关于如何选择数组中的最后一项? [复制]的主要内容,如果未能解决你的问题,请参考以下文章