美文网首页
经验总结之key值按照固定的顺序排序

经验总结之key值按照固定的顺序排序

作者: 留白_汉服vs插画 | 来源:发表于2019-01-11 19:24 被阅读10次

常见的对象数组排序,一般是按照key对应的value进行排序,或者按照key的值进行排序。
比如

RebateCycle = {
    1: "b",
    4: "d",
    2: "a",
    3: "c",
}
RebateCycle = {
    1: "b",
    2: "a",
    3: "c",
    4: "d",
}
//可以按照key进行排序,
RebateCycle = {
    2: "a",
    1: "b",
    3: "c",
    4: "d",
}

这里有一种比较特殊的情况,比如已经知道

RebateCycle = {
    WITH_PAYMENT: "对账时",
    MONTH: "每月1日",
    SEASON: "每季度1日",
    YEAR: "每年1月1日",
}

后端传来的数据,按照这个RebateCycle中key的固定顺序进行排序
先把RebateCycle对象中key抽出来var keys = Object.keys(RebateCycle)
keys.indexOf(item.key) 就是后端传来的某一组数据,它的key在数组的位置序号。然后通过
sort(function(a,b){return keys.indexOf(a.key)-keys.indexOf(b.key)})来排序

   getOptions: function(parameter){
       if(parameter.cooperationType){
           $.ajax({
               url: Remote.computeBasic.searchByCondition,
               data: parameter,
               type: 'POST',
               success: function (data) {
                   var keys = Object.keys(RebateCycle)
                   var options = data.map(function (n) {
                       return {value: n.cycle, label:RebateCycle[n.cycle],name: n.cycle, data: n};
                   }).sort(function (item1,item2){
                       return keys.indexOf(item1.value) - keys.indexOf(item2.value);
                   })
                   this.setState({
                       options: options
                   })
               }.bind(this)
           })
       }else {
           this.setState({
               options: []
           })
       }
   }

相关文章

  • 经验总结之key值按照固定的顺序排序

    常见的对象数组排序,一般是按照key对应的value进行排序,或者按照key的值进行排序。比如 这里有一种比较特殊...

  • 集合

    1、map,hashmap排列没顺序,treemap可对key进行排序,linkedhashmap按照放入的顺序。

  • java map 集合 默认的排序和几种遍历方法

    1.按插入顺序排序 LinkedHashMap 结果: 2.按key hash值排序 HashMap 结果: 3....

  • 2020-05-13

    mysql in 排序 如果要使其按照括号里传入值的顺序排序, 可以这样

  • Redis有序集合ZSET

    特点: 按照score排序 member 值不能重复,score可以重复 ZADD key score membe...

  • 用HashMap<>()排序

    很多场景下我们都要用到集合操作,同时要求我们按照一定的规则排序 这是按照值排序,当然也可以按照key,当然条件不止...

  • 数组的排序

    1.sort排序 sort方法排序结果是按照ASCII排序: 所以我们添加一个排序函数: 以数组中的对象的key值排序:

  • list类型

    list类型 列表的元素类型为string 按照插⼊顺序排序 增加 在左侧插⼊数据 lpush key value...

  • Redis 数据结构之list类型

    list类型 列表的元素类型为string 按照插⼊顺序排序 增加 在左侧插⼊数据 lpush key value...

  • mysql按照依据固定值排序

    表结构 数据 排序要求 第一个 排序规则1 未认证(1)2 待审核(2)3 待审批(4)4 通过(6)5 ...

网友评论

      本文标题:经验总结之key值按照固定的顺序排序

      本文链接:https://www.haomeiwen.com/subject/tjrxdqtx.html