es6 对数据的搜索、排序、分页

17 篇文章 0 订阅
2 篇文章 0 订阅

1.分页:根据page取当前页的内容。 

//分页
function pagination(page, pageSize, array) {
    var pageCount = page * pageSize;
    var pagepev = (page - 1) * pageSize;
    let data= array.filter((item, index) => {
        // console.log(item,index);
        return index < pageCount && index >= pagepev
    });
    return data
}

2.搜索

function pagination(array) {
let result = array.filter((item) => {
                    //console.log(item);
                    let name= item.name.toLowerCase();

                    return name.indexOf(value) != -1 ;
                });
return result;
}

3.排序

//二维数组排序
const orderBy = (arr, props, orders) =>
  [...arr].sort((a, b) =>
    props.reduce((acc, prop, i) => {
      if (acc === 0) {
        const [p1, p2] = orders && orders[i] === 'desc' ? [b[prop], a[prop]] : [a[prop], b[prop]];
        acc = p1 > p2 ? 1 : p1 < p2 ? -1 : 0;
      }
      return acc;
    }, 0)
  );
//用法:
// const users = [
//   { name: 'fred', age: 48 },
//   { name: 'barney', age: 36 },
//   { name: 'fred', age: 40 },
//   { name: 'barney', age: 34 }
// ];
// orderBy(users, ['name', 'age'], ['asc', 'desc']); // [{name: 'barney', age: 36}, {name: 'barney', age: 34}, {name: 'fred', age: 48}, {name: 'fred', age: 40}]
// orderBy(users, ['name', 'age']); // [{name: 'barney', age: 34}, {name: 'barney', age: 36}, {name: 'fred', age: 40}, {name: 'fred', age: 48}]

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

web16888

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值