12345678910111213141516171819202122232425262728 |
- 'use strict';
- const _ = require('lodash');
- // 获取总人数
- const number = 10;
- // 按照 一组 4人/5人 计算下有多少组
- const groupPersonNumbers = [ 4, 5 ];
- const result = [];
- console.group(`共:${number}人`);
- for (const num of groupPersonNumbers) {
- // 商,向下取整
- const r = _.floor(_.divide(number, num));
- // 余数
- const l = number % num;
- result.push({ r, l, t: num });
- console.log(`${num}人一组: 商:${r};余:${l}`);
- }
- console.groupEnd(`共:${number}人`);
- const res = _.orderBy(result, data => {
- console.log(data);
- const { t, l } = data;
- // 没有余数的,说明恰好分完,先提上去
- if (l === 0) return l;
- // 有余数的,计算 余数越大越好
- }, 'asc');
- console.log(res);
|