目录
一、取对象中键、值的api
Object.values() ,Object.keys()
// 法一
const data1 = [
{
qw: 'one',
group: 'Robocar',
suc_rate: 0
},
{
'qe': 'two'
},
{
'qr': 'three'
}
]
// for (var i of data1) {
// console.log(i);
// for (var k in i) {
// console.log('键:' + k)
// console.log('值:' + i[k])
// }
// }
// 法二
const data = [
{
data: [
{ group: 'Mulecar', suc_rate: 100 },
{ group: null, suc_rate: 100 },
{ group: 'Devcar', suc_rate: 75 },
{ group: 'Robocar', suc_rate: 0 },
{ group: 'Robocar', suc_rate: 0 },
{ group: 'Robocar', suc_rate: 0 },
],
operator: 'download',
},
{
data: [
{ group1: 'Robocar', suc_rate1: 100 },
{ group: 'Devcar', suc_rate: 100 },
],
operator: 'deploy',
},
]
data.map((item) => {
item.operator === 'download' &&
item.data.map((v,) => {
// console.log(v)
console.log(Object.values(v));
})
})
二、示例1:
var data = [
{
"data": [
{
"business_type": "Robocar",
"count": 0,
"p_index": 0
},
{
"business_type": "TMUS",
"count": 0,
"p_index": 1
},
{
"business_type": "Devcar",
"count": 0,
"p_index": 2
},
],
"time": "2022-05-17"
},
{
"data": [
{
"business_type": "Robocar",
"count": 0,
"p_index": 0
},
{
"business_type": "TMUS",
"count": 1,
"p_index": 1
},
],
"time": "2022-05-16"
},
{
"data": [
{
"business_type": "Robocar",
"count": 0,
"p_index": 0
},
{
"business_type": "TMUS",
"count": 6,
"p_index": 1
},
],
"time": "2022-05-15"
}
];
// output
// ['2022-05-17', '2022-05-16', '2022-05-15']
// ['Robocar', 'TMUS', 'Devcar', 'L_acar', 'L_bcar', 'WLINGS', 'L_bcar_Deliver']
// [[0,1,3]....[7,11,65]]
// 正确处理
const formatHeat = (data) => {
var timeList = [];
var businessTypeList = [];
var valueList = [];
data.forEach((timeDataList, data3Index) => {
// 容错
const { data, time } = timeDataList || {};
time && timeList.push(time);
data.forEach(dataItem => {
// 只需要取一次
const { business_type = '', p_index, count } = dataItem;
if (data3Index === 0) {
business_type && businessTypeList.push(business_type);
}
valueList.push([data3Index, p_index, count]);
});
});
return [timeList, businessTypeList, valueList]
}
// 错误方法
// const formatHeat = (data) => {
// const count = [], day = []
// let business_type = []
// data.map((itemData, i) => {
// day.push(itemData.time)
// console.log(day); //
// business_type = []
// itemData.data.map((item, j) => {
// business_type.push(item.business_type);
// // count[i * j] = [];
// count.push(i, j, item.count);
// });
// console.log(business_type); //
// // return business_type
// });
// // console.log( count);
// return day, count;
// }
// console.log(updData);
// const [business_type, day, count] = formatHeat(updData)
// console.log(day, business_type, count);
三、示例2:
var data = [
{
"c_time": "2022-05-15 00:00:00",
"data": []
},
{
"c_time": "2022-05-16 00:00:00",
"data": [
{
"c_hour": "00:00:00",
"module": "all",
"online": 0,
"online_rate": 0.0
},
{
"c_hour": "04:00:00",
"module": "all",
"online": 0,
"online_rate": 0.0
},
{
"c_hour": "08:00:00",
"module": "all",
"online": 0,
"online_rate": 0.0
},
{
"c_hour": "12:00:00",
"module": "all",
"online": 0,
"online_rate": 0.0
},
]
}
];
// 正确方法
function transformData(data) {
const day = {};
data.forEach((itemData) => {
day[itemData.c_time] = {
x: [],
y: [],
z: [],
}
itemData.data.forEach(item => {
day[itemData.c_time].x.push(item.c_hour);
day[itemData.c_time].y.push(item.online);
day[itemData.c_time].z.push(item.online_rate);
});
});
return day;
}
function transformData2(data) {
const day = [];
data.forEach((itemData, index) => {
day[index] = [
[],
[],
[],
];
itemData.data.forEach(item => {
day[index][0].push(item.c_hour);
day[index][1].push(item.online);
day[index][2].push(item.online_rate);
});
});
return day;
}
const res = transformData2(data);
console.log('res', res);
// 错误方法
const formatline = (Data,) => {
const Datas = []
const axisData = []
const x = [], y = [], r = []
Data?.map((item2) => {
item2?.data.map((item) => {
x.push(item.c_hour)
y.push(item.online)
r.push(item.online_rate)
axisData.push(x, y, r)
return x, y, r
})
console.log(x, item2.c_time);
axisData.push(x, y, r)
})
console.log(axisData);
Datas.push(axisData)
console.log(Datas);
return (Datas);
}
四、数组对象排序
var arr = [
{name:'zopp',age:0},
{name:'gpp',age:18},
{name:'yjj',age:8}
];
function compare(property){
return function(a,b){
return a[property] - b[property];
}
}
console.log(arr.sort(compare('age')))