如何使用jquery将xxxx表行拆分为每个100的数组,并考虑四舍五入

How to split xxxx table rows into arrays of 100 each using jquery and account for rounding?

本文关键字:数组 四舍五入 jquery 何使用 xxxx 拆分      更新时间:2023-09-26

我正在尝试使用jquery对一个表进行分页。

我想将xxxx行拆分为每行100行的数组,然后我可以运行这些数组来填充我正在创建的子页面。

目前我正在尝试这个:

 var rowsPerPageS = 100,
     maxRows = table.find( "tbody tr, TBODY TR" ).length,
     splitRows = [];
 // split table array into array of 100
 for( i = 0; i < Math.round(maxRows/rowsPerPageS); i++){
    splitRows.push( $( table ).find( "tbody tr, TBODY TR" ).slice( rowsPerPage*i,rowsPerPageS*(i+1) ) )
     }

以上内容似乎适用于100200300400等行,这将在我的数组中提供1、2、3、4个对象。但是,例如,如果我有333行,333/100=3.33=3个对象,并且我正在"删除"最后33行。

问题:
如何解释"不均匀"行数?如果我将+1加到循环的数量上,如果行是100200300或<99,所以这是不可能的。

有人能帮我吗?

"我想将xxxx行拆分为每个100行的阵列"

试试看。。。

var rowsPerPageS = 100,
    splitRows = [],
    rows = $( table ).find( "tbody tr" ).toArray();
for( i = 0; i < rows.length; i += rowsPerPageS ){
    splitRows.push( rows.slice(i, i + rowsPerPageS ) );
}
<小时>

如果您确实想要jQuery对象,那么可以去掉.toArray()

使用Math.ceil()而不是Math.round()。ceil将数字向上四舍五入到最接近的整数,同时四舍五舍五入。例如

Math.round(0.4) => 0
Math.ceil(0.1) => 1
Math.ceil(1) => 1