Javascript DataTables按属性而不是按数组索引筛选对象数组

Javascript DataTables按属性而不是按数组索引筛选对象数组,javascript,jquery,jquery-datatables,Javascript,Jquery,Jquery Datatables,我想创建一个可以应用于许多数据表的日期范围过滤器。我遇到的问题是即使我通过了考试 在我的aaData值中,当我到达filter函数时,它是一个对象数组。这是行不通的,因为在我的应用程序中,数组中日期值的索引在不同的数据表中是不同的,我更希望能够通过这样的属性上的点表示法来实现 $.fn.dataTableExt.afnFiltering.push( function( oSettings, aData, iDataIndex ) { var iMin =

我想创建一个可以应用于许多数据表的日期范围过滤器。我遇到的问题是即使我通过了考试 在我的aaData值中,当我到达filter函数时,它是一个对象数组。这是行不通的,因为在我的应用程序中,数组中日期值的索引在不同的数据表中是不同的,我更希望能够通过这样的属性上的点表示法来实现

$.fn.dataTableExt.afnFiltering.push(
        function( oSettings, aData, iDataIndex ) {
            var iMin = document.getElementById('start-datepicker').value;
            var iMax = document.getElementById('end-datepicker').value;

            // Create Minimum Date Object
            var iMinDate = new Date(iMin);

            // Create Maximum Date Object
            var iMaxDate = new Date(iMax);

            // Create Date Column Object
            var iDateStr = aData.date;
            var iDate = new Date(iDateStr);

            if ( iMinDate < iDate && iDate < iMaxDate )
            {
                return true;
            }
            return false;
        }
    );
$.fn.dataTableExt.afnFiltering.push(
功能(oSettings、aData、iDataIndex){
var iMin=document.getElementById('start-datepicker')。值;
var iMax=document.getElementById('end-datepicker')。值;
//创建最小日期对象
var iMinDate=新日期(iMin);
//创建最长日期对象
var iMaxDate=新日期(iMax);
//创建日期列对象
var iDateStr=aData.date;
var iDate=新日期(iDateStr);
if(iMinDate

我的初始化类似于此

这可能是一个黑客攻击,但它似乎可以通过oSettings.aoData对象和iDataIndex参数获取数据

$.fn.dataTableExt.afnFiltering.push(
        function( oSettings, aData, iDataIndex ) {
            var iMin = document.getElementById('start-datepicker').value;
            var iMax = document.getElementById('end-datepicker').value;

            // Create Minimum Date Object
            var iMinDate = new Date(iMin);

            // Create Maximum Date Object
            var iMaxDate = new Date(iMax);

            // Create Date Column Object
            var rowData = oSettings.aoData[iDataIndex]._aData;
            var iDateStr = rowData.date;
            var iDate = new Date(iDateStr);

            if ( iMinDate < iDate && iDate < iMaxDate )
            {
                return true;
            }
            return false;
        }
    );
$.fn.dataTableExt.afnFiltering.push(
功能(oSettings、aData、iDataIndex){
var iMin=document.getElementById('start-datepicker')。值;
var iMax=document.getElementById('end-datepicker')。值;
//创建最小日期对象
var iMinDate=新日期(iMin);
//创建最长日期对象
var iMaxDate=新日期(iMax);
//创建日期列对象
var rowData=oSettings.aoData[iDataIndex]。\u aData;
var iDateStr=rowData.date;
var iDate=新日期(iDateStr);
if(iMinDate