20.日期排序 -2

72 阅读2分钟
let data = this.bottomList[index].node;
   // console.log(data,'54654645999999999999999999999');
   let dataObject = {};
   data.forEach((item)=>{
     
     dataObject[item.title] = item.numberData
     // dataObject.item.title = item.numberData
   })
   // dataObject[length] = dataObject.length
 
   console.log(dataObject,'66666666666666666666666666666');
   // data.map((item)=>`${item.numberData}:${item.title}`)
   // .forEach((item)=>{
   //   console.log(item);
   // })
   // let leng = data.length
   // for (let a = 0; a < leng; a++) {
   //   console.log(data,'>>>>>>>>>>>>>>>>>>>>>');
   //   for (let i = 0; i <= leng-a; i++) {
   //     if(data[i].title +0 > data[i+1].title +0){
   //       let tamp = [];
   //       tamp = data[i+1]
   //       data[i+1] = data[i]
   //       data[i] = tamp
   //     }
   //       console.log(data[i].title,data[i+1].title,`${a}-${i}`);
   //       console.log(data,'-------------------------------');
   //   }
   // }
   // console.log(data,'66666666666666666666666666666666666666666');

我先是使用冒泡排序 不知道哪里出错了 排不出来

  • 第一遍能执行完成,第二遍执行时出错,表示没有该数据的子项

之后使用循环取出拼接 - 再对月份进行排序 再拼接的方式

  • 我感觉太麻烦,又做了好多工作

再者我想着把它拼接成对象,但是在大括号{}里的key只能是字符串 变量名会失效,只作为无意义的字符串

  • 发现 [] 中括号里面可以写动态的 可代表意义的名称 fd1bd054f34f8693fb01f6edd37de77.png 最后我打印一下看看结果 方便进行下一步的时候 发现他已经排好顺序了
  • 省去一步,但是不知道为什么
  • 大概是我再往上面添加标题时他识别到了数字,自动排的吧,类似数组的索引是有序的
  • 能验证的大概是 我本来的步骤是打算将对象化为伪数组 再转为数组,这样就不用排序的过程中 发现它多了个 索引 0

d3cf6472b74b0dae408c327923e3f89.png

  • 这时我才发现 他的顺序是已经排列好的

3a225a156e7a45771934280c90d65fc.png 最后的代码

 setBottom(index = 0) {
      let data = this.bottomList[index].node;
      let dataObject = {};
      data.forEach((item)=>{
        dataObject[item.title] = item.numberData
      })
      let xAxis = keys(dataObject);
      let series = values(dataObject)
      this.bottomAmount.title.text = this.bottomTitle;
      this.bottomAmount.xAxis.data = xAxis;
      this.bottomAmount.series[0].data = series;
    },