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只能是字符串 变量名会失效,只作为无意义的字符串
- 发现 [] 中括号里面可以写动态的 可代表意义的名称
最后我打印一下看看结果 方便进行下一步的时候 发现他已经排好顺序了
- 省去一步,但是不知道为什么
- 大概是我再往上面添加标题时他识别到了数字,自动排的吧,类似数组的索引是有序的
- 能验证的大概是 我本来的步骤是打算将对象化为伪数组 再转为数组,这样就不用排序的过程中 发现它多了个 索引 0
- 这时我才发现 他的顺序是已经排列好的
最后的代码
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;
},