如何使用MixItUp/Isototpe
的插件过滤或排序没有数据属性的信息?
也许过滤器将是#url并且排序将是类。
答案 0 :(得分:0)
假设你有一个JSON集,你可以过滤这样的值(我也假设你已经从DOM中获取了过滤器/排序值):
如果不准确的话,还没有运行这么道歉 - 我不习惯堆叠溢出格式但是任何问题我都会编辑。我认为逻辑应该没问题
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