JS 根据传参进行灵活排序(sotr)的问题。
如下代码,我们可以通过field的值,来决定排序字段,但我不知道如果通过by值来影响a,b的顺序,进行决定是升序还是降序。求指教。
// 排序结果
bySort: function (by = 'asc', field = 'sum') {
// 获得数据
let { result } = that.data;
// 排序操作
result = result.sort((a, b) => a - b);
// 重新渲染数据
that.setData({ result });
}, 本帖最后由 涛之雨 于 2021-10-21 22:06 编辑
// 排序结果
bySort: function (by = "asc", field = 'sum') {
// 获得数据
let { result } = that.data;
// 排序操作
result = result.sort((a, b) => by === "asc"?(a - b):(b - a));
// 重新渲染数据
that.setData({ result });
}, 自己封装的方法适配可扩展 国际化也适配你可直接拿去用 使用示例:Sort(result,by === 'asc',) 用三元表达式,试一下,应该是可以的。例(by==sas)? /返回结果为true时/a-b : /返回结果为false时/b-a 理论应该没问题你自己试一下
打工仔-知恩 发表于 2021-10-22 08:26
自己封装的方法适配可扩展 国际化也适配你可直接拿去用
方便的话可以把相关的代码复制粘贴出来,方便交流,(而且图上显示的部分不全localCompare函数没有)
页:
[1]