没有数据属性的过滤器插件

Filter plugin without data-attribute

如何通过 MixItUp/Isototpe 的插件过滤或排序没有数据属性的信息?

过滤器可能是#url,排序可能是class。

假设您设置了 JSON,您可以像这样过滤值(我还假设您已经从 DOM 中获取了 filter/sort 值):

还没有 运行 如果不准确,我深表歉意 - 我还不习惯堆叠溢出格式,但如果有任何问题,我会进行编辑。我觉得逻辑应该没问题

var dataset = [
    {url: '/test'},
    {url: '/test2'}
];

var filterValue = '/test2'; // pass this to function or get from DOM
var sortBy = 'url'; // again, pass in somewhere or get from DOM
var sortType = 'asc';

function filter(data, filter) {

    var filteredResults = data.filter(function (el) {

        return (filter !== '' && el.url.toLowerCase().indexOf(filter.toLowerCase())) !== -1;

    })  

    return filteredResults;

}


function sort(data, sortBy, sortType) {

    var sortIndex = sortType === "asc" ? 1 : -1;


    data.sort(function (a, b) {

        if (a[sortBy] < b[sortBy]) {
            return -1 * sortIndex;
        } else if (a[sortBy] > b[sortBy]) {
            return 1 * sortIndex;
        }

        return 0;

    })
}   

var filteredResults = filter(dataset, filterValue);

sort(dataset, sortBy, sortType); //dataset will be sorted