我正在尝试编写一个函数,该函数接受一个数字数组,并仅由给定数组的第一个和最后一个元素组成一个新数组。
我不知道如何使一个函数与当前代码一起使用。
var firstLast = [5, 10 ,15 ,20, 25, 30, 40];
firstLast.splice(1, firstLast.length - 2);
console.log(firstLast);
我想拥有它,以便在我调用函数时可以将数字数组作为参数。
答案 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());