#26 分页判断


  • 0
    administrators

    数据的分页在我们的业务当中非常常见,例如 ScriptOJ 的问题列表就有分页。

    完成分页函数 getPages,接收两个参数:

    getPages(total, itemsPerPage)
    
    • total: 表示总共有多少条数据
    • itemsPerPage:表示每页有多少条数据

    getPages(total, itemsPerPage) 会返回一个数字告诉我们需要有多少页数据。例如,总共 101 条数据,每页有 10 条,就需要 11 页,那么就返回 11

    itemsPerPage0 的时候返回 0

    你只需要完成 getPages 函数。


  • 0

    输入 1, 0 时,你返回的结果不正确
    ??? 为什么会有 itemsPerPage 为 0 的情况 题目却没有说为 0 应该怎么处理 抛出异常?返回正无穷?


  • 0
    administrators

    @zhpech 返回 0,你说的也对,题目应该说清楚。


  • 0

    const getPages = (total, itemsPerPage) => {
        if (itemsPerPage === 0) return 0;
        var pageNum = parseInt(total / itemsPerPage);
        if (total % itemsPerPage !== 0) {
            pageNum++;
        }
        if (total < itemsPerPage) {
            itemsPerPage = total;
        }
        return `总共 ${total} 条数据,每页有 ${itemsPerPage} 条,就需要 ${pageNum} 页。`;
    }
    

    想知道错在哪里了。


  • 0
    administrators

    @jax 返回数字


  • 0

    const getPages = (total, itemsPerPage) => itemsPerPage && Math.ceil(total/itemsPerPage)
    

  • 0

    const getPages = (total, itemsPerPage) => {
        if (itemsPerPage === 0) return 0;
        return total % itemsPerPage === 0 ? total / itemsPerPage : parseInt(total / itemsPerPage, 10) + 1
    }
    

登录后回复
 

与 ScriptOJ 的连接断开,我们正在尝试重连,请耐心等待