需求:使用Echarts的地图显示数据时,后端传过来的数据格式,与期望的不同,需要重新拼接Json。
需要这样样子的数据格式
maps_data = {
"max": 2936,
"data": [{
"value": 695,
"name": "陕西"
}, {
"value": 1914,
"name": "福建"
}, {
"value": 298,
"name": "内蒙古"
}, {
"value": 2582,
"name": "山东"
}, ],
"min": 3
};
后端传过来的是这个样子,为什么不能一步到位~
[{
client_num: 12,
city_name: "新疆维吾尔自治区"
}, {
client_num: 17,
city_name: "上海市"
}, {
client_num: 1,
city_name: "河南省"
}, {
client_num: 3,
city_name: "北京市"
}, {
client_num: 17,
city_name: "台湾省"
}]
于是,开始写Js代码~
水平有限,仅能实现功能~
var arr = [{client_num: 12, city_name: "新疆维吾尔自治区"},{client_num: 17, city_name: "上海市"},{client_num: 1, city_name: "河南省"},{client_num: 3, city_name: "北京市"},{client_num: 17, city_name: "台湾省"}];
//拼接data
data = []
for(var i=0;i<arr.length;i++){
item = arr[i]
data.push(
{
"value":item.client_num,
"name": item.city_name
}
)
}
//找最大最小值min,max
list = []
for(var i=0;i<data.length;i++){
console.log(data[i])
list.push(data[i].value)
}
list.sort(function(a,b){
return a-b
})
var min = list[0]
var max = list[list.length-1]
//拼maps_data
maps_data = []
maps_data["max"] = max
maps_data["data"] = data
maps_data["min"] = min