获取除第一个和最后一个之外的所有数组元素



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

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

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

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

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

为此,您可以使用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);

移位和弹出会影响当前数组;有没有办法让中间点改变当前数组?喜欢切片,但切片不影响它

当然,您可以使用filter(),检查数组中项目的索引:

var input = ['start', 'A', 'B', 'C', 'end'];
var output = input.filter((v, i) => i !== 0 && i !== input.length -1);
console.log(input); // original value retained
console.log(output); // copied via filter

像这样的东西?

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);

相关内容

  • 没有找到相关文章

最新更新