创建一个接受数字数组的函数

时间:2019-06-20 14:04:22

标签: javascript arrays

我正在尝试编写一个函数,该函数接受一个数字数组,并仅由给定数组的第一个和最后一个元素组成一个新数组。

我不知道如何使一个函数与当前代码一起使用。

var firstLast = [5, 10 ,15 ,20, 25, 30, 40];

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

console.log(firstLast);

我想拥有它,以便在我调用函数时可以将数字数组作为参数。

3 个答案:

答案 0 :(得分:0)

  

并仅创建给定数组的第一个和最后一个元素的新数组

首先,array.splice()是使用错误的函数。它修改原始数组,而不创建新数组。您需要做的是创建一个新数组,然后从字面上添加原始数组的第一项和最后一项。

const newArray = [firstLast[0], firstLast[firstLast.length - 1]]

第一项始终位于索引0处。最后一项始终位于索引length - 1上。

答案 1 :(得分:0)

您可以对一个班轮使用匿名功能(添加检查):

var arr = [5, 10 ,15 ,20, 25, 30, 40];

const getFirstLast = arr => arr && arr.length > 1 ? [arr[0], arr[arr.length - 1]] : arr
console.log(getFirstLast(arr));

或只是一个正常功能:

var arr = [5, 10 ,15 ,20, 25, 30, 40];

function getFirstLast(arr) {
  return arr && arr.length > 1
    ? [arr[0], arr[arr.length - 1]]
    : arr 
}

console.log(getFirstLast(arr));

答案 2 :(得分:0)

Splice改变了原始数组,您可以简单地创建一个只使用第一个和最后一个值的通用函数

var firstLast = [5, 10 ,15 ,20, 25, 30, 40];

const firstAndLast = (arr) => {
  return Array.isArray(arr) && arr.length > 1 ? [arr[0], arr[arr.length-1]] : arr
}

console.log(firstAndLast(firstLast));
console.log(firstAndLast([1]));
console.log(firstAndLast([1,2,3]));
console.log(firstAndLast());