JavaScript分片数值、分段、切割、Number、push、Math、round

JavaScript分片数值、分段、切割、Number、push、Math、round,第1张

目录 1、分片大小固定2、分片次数固定


1、分片大小固定
function fixedSize(params = 700, fixedSize = 100) {
    params = Number(params);
    fixedSize = Number(fixedSize)
    if (!params || !fixedSize) return '数据有误';

    let arrayObjec = [],
        start = 0;

    for (let i = 0; i < params; i++) {
        if (i - start == fixedSize) {
            arrayObjec.push({
                start: start,
                end: i,
            });
            start = i + 1;
        }
    }

	let len = arrayObjec.length;
    if (arrayObjec[len - 1].end < params) arrayObjec.push({
        start: arrayObjec[len - 1].end + 1,
        end: params,
    });

    return arrayObjec;
}

console.log(fixedSize(27368, 1000));
// (28) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]

2、分片次数固定
function fixedTimes(params = 700, fixedTimes = 7) {
    params = Number(params);
    fixedTimes = Number(fixedTimes)
    if (!params || !fixedTimes) throw new Error('数据有误');

    let arrayObjec = [],
        val = Math.round(params / fixedTimes),
        start = 0;

    for (let i = 0; i < fixedTimes; i++) (arrayObjec.push({ start: start, end: start + val + 1 }), start = start + val);
    arrayObjec[arrayObjec.length - 1].end = params;

    return arrayObjec;
}

console.log(fixedTimes(27368, 24));
// (24) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/924765.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存