获取除first和last之外的所有数组元素

时间:2017-08-21 15:41:33

标签: javascript jquery arrays google-maps

我有一系列地点,我需要能够分别访问原点,中间点和目的地。

我知道我的起源始终是第一个元素,目的地始终是最后一个元素,但我无法弄清楚如何动态访问所有中间点?

4 个答案:

答案 0 :(得分:12)

要实现此目的,您可以使用shift()pop()分别获取数组的第一个和最后一个元素。在这些操作之后,数组中剩下的是你的“中间点”。试试这个:

var middlePoints = ['start', 'A', 'B', 'C', 'end'];
var origin = middlePoints.shift();
var destination = middlePoints.pop();

console.log(origin);
console.log(middlePoints);
console.log(destination);

答案 1 :(得分:9)

由于没有数据我正在使用基本数组来显示。同样通过这种方法,您将保留原始数组。



var arr = [1,2,3,4,5,6,7];
var middle = arr.slice(1, -1);
console.log(middle);




OR

var arr = [1,2,3,4,5,6,7];
var middle = arr.slice(1, arr.length-1);
console.log(middle);

答案 2 :(得分:1)

这样的东西?



var allPoints = [0, 1, 2, 3, 4, 5],
    midPoints = []

/*start the iteration at index 1 instead of 0 since we want to skip the first point anyway and stop iteration before the final item in the array*/
for (var i = 1; i < (allPoints.length - 1); i++) {
  midPoints.push(allPoints[i]);
}

console.log(midPoints);
&#13;
&#13;
&#13;

答案 3 :(得分:0)

一切都简单多了,使用过滤方法

let Arr = ['first', 'A', 'B', 'C', 'last'];
NewArr = Arr.filter((item,i) => i !== 0 && i !== Arr.length-1);
console.log(NewArr)