我有一系列地点,我需要能够分别访问原点,中间点和目的地。
我知道我的起源始终是第一个元素,目的地始终是最后一个元素,但我无法弄清楚如何动态访问所有中间点?
答案 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;
答案 3 :(得分:0)
一切都简单多了,使用过滤方法
let Arr = ['first', 'A', 'B', 'C', 'last'];
NewArr = Arr.filter((item,i) => i !== 0 && i !== Arr.length-1);
console.log(NewArr)