js豎列合併處理

2021-08-26 23:40:54 字數 1516 閱讀 9738

參考他人的部落格,稍微做了一點點改動,增加了乙個傳參變數,可以作為工具類使用,以下是原始碼。

/**

* 列合併工具類

* 呼叫eg : fnmergerowcell($("[name=maintbody]"), [0, 1, 2], 0);

* maintbodyobj : 需要合併列的**物件(tbody),必填

* limitroworrowindexs : 需要合併的列,必填

* basicindex : 以哪一列為基準,非必填,如果沒有可以選擇null

*/var fnmergerowcell = function

(maintbodyobj, limitroworrowindexs, basicindex) else else

}if(basicindex == null || basicindex == undefined)

/*** 名稱說明

* 1. 主合併物件:設定rowspan的td

* 2. 子合併物件:被隱藏的td

* * 實現原理

* 1. 每行掃瞄,拿當前行和下一行做對比,如果值為一致,標記為主合併物件(在標記前要判斷是否為主標記物件,如果為子標記對物件進行data-ishide 標記 ),

* 2. 下一行自動標記上主合併物件的 data-pid

*/var callattr = "data-main";

var datapidkey = "data-cid";

var$tbody = $(maintbodyobj);

var trs = $tbody.find("tr");

for(var i = 0; i < trs.length; i++)

for(var r = 0; r < limitrow; r++)

}var

$crtdrow = $($crtd[r]);

var$nrtdrow = $($nrtd[r]);

var$crtdbrow = basicindex == null ? "":$($crtd[basicindex]);

var$nrtdbrow = basicindex == null ? "":$($nrtd[basicindex]);

//當前行對應的單元格的值 和 下一行對應的單元格的值相同

if($crtdrow.html() == $nrtdrow.html() && $crtdbrow.html() == $nrtdbrow.html())

$nrtdrow.attr(callattr, "false").attr(datapidkey, dataid);

$nrtdrow.hide();}}

}$tbody.find("[" + callattr + "=true]").each(function

(i, _d) );

}

參考部落格

.net/jerrydai90/article/details/56667919

js陣列物件相同項合併處理

js陣列物件相同項合併處理 平時工作中會經常遇到資料處理,其中陣列合併處理也會經常遇到,下面就是陣列相同項合併的一種方式 1.首先由原始的陣列arr資料,2.然後建立乙個map空物件和乙個dest空陣列,通過判斷map中是否含有某項來判斷陣列dest是否新增資料,3.然後再判斷相同項和已有的dest...

js陣列物件相同項合併處理

平時工作中會經常遇到資料處理,其中陣列合併處理也會經常遇到,下面就是陣列相同項合併的一種方式 1.首先由原始的陣列arr資料,2.然後建立乙個map空物件和乙個dest空陣列,通過判斷map中是否含有某項來判斷陣列dest是否新增資料,3.然後再判斷相同項和已有的dest陣列內容比較合併 網上找的資...

字串合併處理

while true try dic 0 1 2 3 4 5 6 7 8 9 a b c d e f s input replace s是輸入的合併後的字串 ss ss為最終返回的字串 odd,even 字串的奇數子串和偶數子串 經過下面的迴圈,提取奇數與偶數的子串。for i,v in enume...