拆分数组/对象以过滤值

以下是我如何生成部件号列表(来自json响应):

// Any given part could be used more than once. Only want each part # to show first occurance. $.each(data, function(key, val) { if ($.inArray(val.name, partArray) === -1) { partArray.push(val.name); } }); return partArray; 

我正在使用jQuery DataTables来呈现我的零件清单。 我有3行从上面的循环中呈现如下:

 ["1", "2", "3"] // First Row ["4", "5", "6"] // Second Row ["7", "8", "9"] // Third Row 

我想过滤我的零件清单(根据选定的值显示/隐藏行)。 为此,我需要生成一个与上面匹配的对象/数组。 但是,如果我在console.log“partArray”中,在我的排序方法中,我得到了这个:

 ["1", "2", "3", "4", "5", "6", "7", "8", "9"] // Object ["1", "2", "3", "4", "5", "6", "7", "8", "9"] // Object ["1", "2", "3", "4", "5", "6", "7", "8", "9"] // Object 

关于如何拆分数组以匹配表输出的样子,我的想法已经不多了 – 所以我可以根据值进行过滤。 目前,任何值都将返回true,因为所有值都可用于每一行。 我对如何从每个循环中正确获取3行感到困惑,但是当我注销相同的数组时,我得到每行编号的3行。

谢谢你的任何建议!

好吧,我不认为这是最终所有答案,但这是有效的。 对于遇到类似问题的人来说,这是js。

表格列def:

 { 'aTargets': [9], 'bSortable': true, 'bVisible': true, 'mData': 'partlist', 'mRender': '[, ].number' } 

过滤方式:

 $.fn.dataTableExt.afnFiltering.push( function(oSettings, aData, iDataIndex) { if ($('#showHideByPartNumber').val() === "" || $('#showHideByPartNumber').val() === 'undefined') { return true; } else { if (aData[9].indexOf($('#showHideByPartNumber').val()) > -1) // aData[9] is the column (zero-based). { return true; } } return false; } ); $('#partsTbl').dataTable().fnDraw();