var data = [{
userId: 8,
title: 'title1'
},
{
userId: 11,
title: 'other'
},
{
userId: 15,
title: null
},
{
userId: 19,
title: 'title2'
},
{
userId: 11,
title: 'other33'
},
{
userId: 15,
title: null
},
{
userId: 20,
title: 'title3'
}
];
var find = function(origin) {
let checkedList = [...origin];
let res = [];
checkedList.where = function(obj) {
for (let key in obj) {
let checkRegx = obj[key];
let index = checkedList.length - 1;
while (index >= 0) {
if (checkedList[index]) {
let itemVal = checkedList[index][key];
if (checkRegx.test(itemVal)) {
res.push(checkedList[index]);
}
}
index--;
}
}
checkedList = [...res]
return checkedList
}
checkedList.orderBy = function() {
let key = arguments[0];
let sortType = arguments[1];
checkedList = checkedList.sort(function(item1, item2) {
if (sortType === 'desc') {
return item2[key] - item1[key]
} else {
return item1[key] - item2[key]
}
})
return checkedList
}
return checkedList
}
// 查找 data 中,符合条件的数据,并进行排序
var result = find(data).orderBy('userId', 'desc').where({
'title': /\d$/
});
console.log(result);
前端实现数组sort和where
最新推荐文章于 2022-01-25 15:30:04 发布