let orderStatistics = {'20220701':{'维修':[{name: 1}]},'20220702': null,'20220703': null,'20220704':{'维修':[],'保养':[{name: 4}]}}
let res = isNulArr(orderStatistics);
console.log(res)
function isNullArr(datas){
// 遍历对象
for(let key in datas){
// 将null进行赋值操作
if(datas[key] == null){
datas[key] = {'交机':[],'海外_维修': [],'巡检': [],'维修': [],'保养': [],'技改': [],'召请': []}
}
}
return datas
}
只查找已有的数据
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<script>
function isNullArr(datas,arr) {
console.log(nameList)
// 遍历对象
for (let key in datas) {
// 将null进行赋值操作
if (datas[key] == null) {
let object = {}
nameList.forEach((item,o)=>{
object[item] = []
})
datas[key] = object
}
}
return datas;
}
let orderStatistics = {
20220701: { 维修: [{ name: 1 }] },
20220704: { 维修: [], 保养: [{ name: 4 }] },
20220705: null,
};
let dateList = [];
let nameList = [];
for (var date in orderStatistics) {
// console.log(date)
dateList.push(date);
}
dateList.forEach((item) => {
for (var date in orderStatistics[item]) {
if (nameList.indexOf(date) == -1) {
nameList.push(date);
}
}
});
let res = isNullArr(orderStatistics, nameList);
// console.log(nameList);
console.log(res)
let s = {};
nameList.forEach((items) => {
s[items] = [];
dateList.forEach((item, index) => {
s[items].push(res[item][items] ? res[item][items].length : 0);
});
});
console.log(s);
let zhuArr = []
// 自定义柱状图颜色
for (var name in s) {
zhuArr.push({
name: name,
type: 'bar',
barWidth: 5,
stack: 'Search Engine',
emphasis: {
focus: 'series'
},
itemStyle: {//自定义颜色
normal: { color: { '交机': '#2D9AFF', '海外': '#FF939A', '巡检': '#86E2B6', '维修': '#B8A3FB', '保养': '#F9D010', '技改': '#3CB371', '召请': '#00FF00', }[name] },
},
data: s[name]
})
}
</script>
</body>
</html>
补全全部数据
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<script>
function isNullArr(datas) {
let objectArr = {
交机: [],
海外: [],
巡检: [],
维修: [],
保养: [],
技改: [],
召请: [],
};
// 遍历对象
for (let key in datas) {
// 将null进行赋值操作
if (datas[key] == null) {
datas[key] = {
交机: [],
海外: [],
巡检: [],
维修: [],
保养: [],
技改: [],
召请: [],
};
} else {
datas[key] = { ...objectArr, ...datas[key] };
// console.log(datas[key])
}
}
return datas;
}
let orderStatistics = {
20220701: { 维修: [{ name: 1 }] },
20220704: { 维修: [], 保养: [{ name: 4 }] },
20220705: null,
};
let res = isNullArr(orderStatistics);
console.log(res);
let dateList = [];
let nameList = [];
for (var date in res) {
// console.log(date)
dateList.push(date);
}
dateList.forEach((item) => {
for (var date in res[item]) {
if (nameList.indexOf(date) == -1) {
nameList.push(date);
}
}
});
let s = {};
nameList.forEach((items) => {
s[items] = [];
dateList.forEach((item, index) => {
s[items].push(res[item][items] ? res[item][items].length : 0);
});
});
console.log(s);
let zhuArr = []
// 自定义柱状图颜色
for (var name in s) {
zhuArr.push({
name: name,
type: 'bar',
barWidth: 5,
stack: 'Search Engine',
emphasis: {
focus: 'series'
},
itemStyle: {//自定义颜色
normal: { color: { '交机': '#2D9AFF', '海外': '#FF939A', '巡检': '#86E2B6', '维修': '#B8A3FB', '保养': '#F9D010', '技改': '#3CB371', '召请': '#00FF00', }[name] },
},
data: s[name]
})
}
</script>
</body>
</html>
因篇幅问题不能全部显示,请点此查看更多更全内容