在 JavaScript 中的相应数字之后计算较小的数字

问题

我们需要编写一个 JavaScript 函数,它将数字数组作为第一个也是唯一的参数。

我们的函数应该根据输入数组准备一个新数组。并且这个新数组的每个对应元素应该是比原始数组中对应元素小的元素数。

例如,如果函数的输入是 -

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

那么输出应该是 -

const output = [2, 4, 0, 1, 2, 1, 0, 0, 0];

输出说明:

因为它右边小于 4 的数字是 2(1 和 3),对于 7,它是 4(1、4、5、3)等等。

示例

此代码将是 -

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

const countSmaller = (array = [], num) => array.reduce((acc, val) => {

   if(val < num){

      acc++;

   };

   return acc;

}, 0);

const smallerArray = (arr = []) => {

   const res = [];

   for(let i = 0; i < arr.length; i++){

      const el = arr[i];

      res[i] = countSmaller(arr.slice(i, arr.length), el);

   };

   return res;

};

console.log(smallerArray(arr));

输出结果

控制台中的输出将是 -

[ 2, 4, 0, 1, 2, 1, 0, 0, 0 ]

以上是 在 JavaScript 中的相应数字之后计算较小的数字 的全部内容, 来源链接: utcz.com/z/349149.html

回到顶部