假设我有一个数组:
var myArr = new Array('alpha','beta','gamma','delta');
我希望函数返回给定项之前的所有项的数组:
function getAllBefore(current) {
var myArr = new Array('alpha','beta','gamma','delta');
var newArr = ???
return newArr;
}
getAllBefore('beta'); // returns Array('alpha');
getAllBefore('delta'); // returns Array('alpha','beta','gamma');
最快的方法是什么?我可以根据一个值拆分数组吗?我必须循环每一个数组并动态地构建一个新数组吗?你有什么建议?
如果我想要相反的结果,比如getAllAfter()
,那又怎么样呢?
5条答案
按热度按时间dly7yett1#
获取指定项的索引。如果找到,则
.slice()
从0到该索引。如果没有找到,则返回一个空数组(或任何其他默认值)。请注意,IE8和更早版本不支持
.indexOf()
(对于数组),但是可以使用shim,或者可以只使用简单的for
循环。ukdjmx9f2#
javascript切片数组
数组仅剪切最后5个元素
xfb7svmp3#
使用
indexOf
和slice
:50few1ms4#
试试这个
sxissh065#
我最近不得不对一个对象数组做类似这样的事情。这是我所做的: