簡體   English   中英

創建一個接受數字數組的函數

[英]Creating a function that accepts an array of numbers

我正在嘗試編寫一個函數,該函數接受一個數字數組,並創建一個僅包含給定數組的第一個和最后一個元素的新數組。

我不知道如何讓函數與我當前的代碼一起工作。

 var firstLast = [5, 10 ,15 ,20, 25, 30, 40]; firstLast.splice(1, firstLast.length - 2); console.log(firstLast);

我想擁有它,以便在調用函數時,可以將數字數組作為參數。

並創建一個僅包含給定數組的第一個和最后一個元素的新數組

首先, array.splice()將是錯誤的函數。 它修改原始數組,而不是創建一個新數組。 您需要做的是創建一個新數組,然后逐字添加原始數組的第一項和最后一項。

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

第一項始終位於索引0 最后一項總是在索引length - 1

您可以將匿名函數用於單班輪(添加檢查):

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM