从数组中获取第一个和最后一个值

5

我是一名有用的助手,可以为您进行翻译。以下是您需要翻译的内容:

有一个数组被传递给我,大概长这样:

var arr = ["A", "B", "C"];

我想实现的目标是仅获取第一个和最后一个值,因此它应该看起来像这样。
var arr = ["A", "C"];

我不知道如何使用 splice 来完成这个操作,因为当我这样做时
arr.splice(I am not sure what numbers to put here).forEach(function (element) {
        console.log(element);
});

有人能告诉我如何实现这个吗?


2
使用 arr[0] 作为第一个值,使用 arr[arr.length - 1] 作为最后一个值; - Harsh Patel
4个回答

7
我想要实现的是只获取第一个和最后一个值,使其看起来像这样。
简单地说。
arr.splice( 1, arr.length - 2 );

示例

var arr = ["A", "B", "C"];

arr.splice(1, arr.length - 2);

console.log(arr);


你让它看起来如此简单!谢谢,时间限制到期后我会接受它。 - Izzy
如果我执行 arr.splice(1, arr.length - 2).forEach(function(element){console.log(element)}),为什么它只会给我一个项目,并打印出 B - Izzy
你正在使用splice的返回值,这些返回值是被删除的项目,而不是留在arr中的项目。 - gurvinder372
哦,对了,我不能这样使用它吗?因为我需要在后面对原始变量进行更改。 - Izzy

1

对于第一个元素,你知道 arr[0] 对于最后一个元素,arr[arr.length -1] 因此,let newAr = [arr[0], arr[arr.length -1]]


1

考虑到您想要删除数组中第一个和最后一个值之间的值,您需要向splice传递一些值,指示您的数组包含多少个元素。

这就是为什么您应该考虑使用:

var arr = ["A", "B", "C"];
arr.splice(1, arr.length - 2);

解释:

splice函数至少需要两个变量(仅在使用splice删除项目时),第一个是您要开始删除项目的字符串位置,第二个是实际要删除的项目数量。

用简单的话来翻译这个简单的语句,它的意思是:在数组的第一个元素之后,删除下一个X个项目,其中X是数组长度减去第一个和最后一个元素的长度(这就是为什么有“-2”)。

希望我解释得清楚,

干杯


0

你可以做到

var arr = ["A", "B", "C"];

console.log(arr.filter((e, i) => i==0 || i==arr.length-1));


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接