JavaScript 中数组的正、负、零贡献


假设我们有一个由整数(包括正、负、零)组成的数组,如下所示 −

const arr = [23, -1, 0, 11, 18];

我们需要编写一个 JavaScript 函数,该函数以一个此类数组作为第一个且唯一的参数。然后该函数应为所有三个不同的组(即正、负和零)查找分数比率。

例如 −

对于上述数组,其长度为 5,该数组的输出应为 −

const output = [.2, .2, .6];

输出数组将始终包含 3 个数字,分别表示负数、零和正整数的分数比率。确认我们答案的一种粗略方法是相加这三个值并检查它们是否接近 1,如果是,我们很可能已正确解决了这个问题。

示例

代码如下 −

 在线示例

const arr = [23, -1, 0, 11, 18];
const findRatio = (arr = []) => {
   const { length } = arr;
   const res = [0, 0, 0];
   for(let i = 0; i < arr.length; i++){
      const el = arr[i];
      const key = el / Math.abs(el || 1);
      res[key + 1]++;
   };
   return res.map(el => el / length);
};
console.log(findRatio(arr));

输出

控制台中的输出如下 −

[0.2, 0.2, 0.6]

更新日期: 22-Feb-2021

288 次浏览

开启您的 职业生涯

完成课程获得认证

开始
广告