在 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 ]
广告