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