用 JavaScript 计算相邻的单词对
javascriptweb developmentfront end technology
问题
我们需要编写一个 JavaScript 函数,该函数将数字 num 作为第一个参数,将另一个数字 parts 作为第二个参数。
我们的函数应该将数字 num 拆分为精确的数字 (parts),并且我们应该牢记这两个条件 −
- 数字应该尽可能接近
- 数字应该均匀(如果可能)。
数字的顺序并不重要。
例如,如果函数的输入是 −
输入
const num = 20; const parts = 6;
输出
const output = [3, 3, 3, 3, 4, 4];
示例
以下是代码 −
const num = 20; const parts = 6; const splitNumber = (num = 1, parts = 1) => { let n = Math.floor(num / parts); const arr = []; for (let i = 0; i < parts; i++){ arr.push(n) }; if(arr.reduce((a, b)=> a + b,0) === num){ return arr; }; for(let i = 0; i < parts; i++){ arr[i]++; if(arr.reduce((a, b) => a + b, 0) === num){ return arr; }; }; }; console.log(splitNumber(num, parts));
输出
[ 4, 4, 3, 3, 3, 3 ]