从数组

时间:2017-10-27 10:07:25

标签: javascript

我有一个传递给我的数组,类似于

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

有人可以告诉我如何实现这一目标。

5 个答案:

答案 0 :(得分:5)

  

我想要实现的只是获得第一个和最后一个值   它应该看起来像

简单地

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

<强>演示

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

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

console.log(arr);

答案 1 :(得分:1)

对于您知道的第一个元素arr[0] 对于最后一个元素arr[arr.length -1] 所以let newAr = [arr[0], arr[arr.length -1]]

答案 2 :(得分:1)

考虑到你试图获取数组的第一个和最后一个值之间的值,你需要传递splice一些值,表明你的数组包含多少元素。

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

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

<强>解释

Splice至少需要2个变量(只有当你使用splice来移除项目时才会这样),第一个是你想要开始删除项目的字符串的位置,第二个是你真正想要的项目数量除去。

要用文字翻译这个简单的行,它说 在数组的第一个元素之后,删除下一​​个X项,其中X是数组的长度减去第一个和最后一个元素(这就是为什么你有&#34; -2&#34;)。

希望我能正确解释,

欢呼声

答案 3 :(得分:0)

你可以做到

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

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

答案 4 :(得分:0)

请尝试遵循 ES6 方式

    let array = ["A", "B", "C"]
    let {0 : a ,[array.length - 1] : b} = array;
    console.log(a, b)