分享

17、WPS JS实战 | 按指定的序列排序

 yuxinrong 2023-03-04 发布于安徽
案例如下:

图片


有时候,对数据进行排序时排序依据未必是数字,对于特殊的的序列,比如上述案例中的排序依据,WPS并不能识别,这种情况该怎么办呢?

手动操作的话可以通过自定义排序把排序依据添加到自定义列表,然后再进行排序。

图片


如果是通过代码自动化的话,可以把把排序区域放到数组中arr,把排序依据放入另外一个数组brr,用map迭代arr找到arr中需要排序的值对应Brr中该值的索引,然后根据该索引就可以排序。

上述代码如下:
function test(){  var arr=Range("b2:d16").Value()  var brr=["总裁","执行总裁","总经理","部门经理","专员","员工"]  var crr=arr.map((v,i)=>[v[0],v[1],v[2],brr.indexOf(v[2])])  crr.sort(function(a,b){return a[3]-b[3]})  Range("h2:j16").Value2=crr}

提示:新版的WPS中直接把区域读取到数组中后再写入表格中,结构已经能保持一致了。

当然大家可以通过WPS JS中自带的sort方法进行排序,这里只是想熟悉下数组的用法。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多