在 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 次浏览

开启您的 职业生涯

完成课程并获得认证

开始
广告