使用 JavaScript 在数组中查找与特定数字最接近的两个元素

问题

我们需要编写一个 JavaScript 函数,该函数接受一个排序整数数组 arr 作为第一个参数和一个目标数字作为第二个参数。

我们的函数应该返回一个正好包含数组 arr 中且最接近目标的两个数字的数组。输出数组也应该按升序排序。

例如,如果函数的输入是

输入

const arr = [1, 2, 3, 4, 5];

const target = 3;

输出

const output = [2, 3];

示例

以下是代码 -

const arr = [1, 2, 3, 4, 5];

const target = 3;

const findClosest = (arr = [], target = 1) => {

   const size = 2;

   return arr.sort((a, b) => {

      const distanceA = Math.abs(a - target)

      const distanceB = Math.abs(b - target)

      if (distanceA === distanceB) {

         return a - b

      }

      return distanceA - distanceB

   }).slice(0, size)

   .sort((a, b) => a - b);

};

console.log(findClosest(arr, target));

输出结果
[2, 3]

以上是 使用 JavaScript 在数组中查找与特定数字最接近的两个元素 的全部内容, 来源链接: utcz.com/z/338773.html

回到顶部