在 JavaScript 中查詢繼任者和前任者都在陣列中的元素


我們需要編寫一個 JavaScript 函式,該函式將一個整數陣列作為第一個也是唯一引數。

該函式應構建並返回一個新陣列,該新陣列包含原始陣列中所有此類元素,其後繼者和前置者都在陣列中。如果這意味著原始陣列中任何元素 num,僅當陣列中也存在 num - 1 和 num + 1 時,它才應包括在結果陣列中。

例如 -

如果輸入陣列為 -

const arr = [4, 6, 8, 1, 9, 7, 5, 12];

則輸出應為 -

const output = [ 6, 8, 7, 5 ];

示例

程式碼如下 -

 現場演示

const arr = [4, 6, 8, 1, 9, 7, 5, 12];
const pickMiddleElements = (arr = []) => {
   const res = [];
   for(let i = 0; i < arr.length; i++){
      const num = arr[i];
      const hasBefore = arr.includes(num - 1);
      const hasAfter = arr.includes(num + 1);
      if(hasBefore && hasAfter){
         res.push(num);
      };
   };
   return res;
};
console.log(pickMiddleElements(arr));

輸出

控制檯中的輸出如下 -

[ 6, 8, 7, 5 ]

更新時間: 2021 年 2 月 27 日

393 次瀏覽

開啟您的 職業生涯

完成課程並獲得認證

開始
廣告
© . All rights reserved.