JavaScript-查找数组中项目之间的距离

假设我们有一个这样的数字排序(递增顺序)数组:

const arr = [2, 5, 7, 8, 9];

我们需要编写一个包含一个这样的数组的JavaScript函数。该函数应为输入数组的每个元素构造一个新的子数组。

子数组应包含差异(该元素与后续元素之间的差异)。

因此,对于第一个数组元素,差异为-

5 - 2 = 3

7 - 2 = 5

8 - 2 = 6

9 - 2 = 7

因此,第一个元素的子数组应为-

[3, 5, 6, 7]

同样,对于第二个元素,它应该是-

[2, 3, 4]

对于第三个元素-

[1, 2]

第四-

[1]

而且由于第五个元素是最后一个元素,因此没有剩余的项目,因此我们不考虑最后一个元素。

因此,完整数组的输出应为-

const output = [

   [3, 5, 6, 7],

   [2, 3, 4],

   [1, 2],

   [1]

];

示例

为此的代码将是-

const arr = [2, 5, 7, 8, 9];

const distanceBetween = (arr,r = []) => {

   if(r.length <= arr.length-2) {

      let temp = [];

      let b = arr[r.length];

      arr.forEach(e => temp.push(e - b));

      r.push(temp.filter(e => e > 0));

      return distanceBetween(arr,r);

   } else {

      return r;

   };

}

console.log(distanceBetween(arr));

输出结果

控制台中的输出将是-

[ [ 3, 5, 6, 7 ], [ 2, 3, 4 ], [ 1, 2 ], [ 1 ] ]

以上是 JavaScript-查找数组中项目之间的距离 的全部内容, 来源链接: utcz.com/z/326451.html

回到顶部