关于对象遍历的时候的一些排序问题

Posted 前端纸飞机

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于对象遍历的时候的一些排序问题相关的知识,希望对你有一定的参考价值。

有空就来看看吧,这些都是为你准备的。

先看下面的代码:

<template>
  <div class="wrap">
    <div v-for="(value, key) in mapData" :key="key">
      <p>key:key,价格:mapData[key].price</p>
    </div>
  </div>
</template>

<script>

export default 
  data () 
    return 
      mapData:
        1:
          price:10,
          name:'我'
        ,
        6:
          price:20,
          name:'我'
        ,
        2:
          price:30,
          name:'我'
        
      
    
  ,
  mounted () 
    for(let i in this.mapData)
      console.log(this.mapData[i].price)
    
  

</script>

key都为number时


控制台输出:

map中的key为number时,会根据key的的大小进行排序,但无论刷新多少次,输出都是一样的,所以输出是固定的,只是顺序和书写顺序不一样

number和string混和

mapData:
        '我':
          price:10,
          name:'我'
        ,
        6:
          price:20,
          name:'我'
        ,
        2:
          price:30,
          name:'我'
        
      

为number和string混合时,优先number从小到大,再来string

mapData:
        '1':
          price:10,
          name:'我'
        ,
        6:
          price:20,
          name:'我'
        ,
        2:
          price:30,
          name:'我'
        
      

这种字符串1,在排序过程中会自动进行转换:

key为字母时

mapData:
        a:
          price:10,
          name:'我'
        ,
        c:
          price:20,
          name:'我'
        ,
        b:
          price:30,
          name:'我'
        
      

为字母时不会重排顺序

字母、number、string混合

mapData:
        'tc3':
          price:0,
          name:'我'
        ,
        a:
          price:10,
          name:'我'
        ,
        5:
          price:20,
          name:'我'
        ,
        1:
          price:30,
          name:'我'
        ,
        'tc1':
          price:40,
          name:'我'
        ,
        'tc2':
          price:50,
          name:'我'
        
      

可见先试把number的从小到大排了,再剩余的按顺序输出!

结果

对象结构会将number按从小到达顺序提前,再其他类型的key,按照书写顺序输出。

以上是关于关于对象遍历的时候的一些排序问题的主要内容,如果未能解决你的问题,请参考以下文章

关于for循环的几种经典案例

一些常见的排序算法

关于图的一些寻路算法(课题有用)

选择排序-Java实现

beta版本——第四次冲刺

关于数组的一些经常使用函数