- 打印实例

- 数组中画绿色框的位置存在值,但是标注绿色数组的地方:数字1 不存在值,就要获取画绿色框的值, 数字2 也不存在值也要获取画绿色框的值 (如果数字1获取到了绿色框的值了 ,数字2就直接获取 数字1的值)数字3也同理
- 这个空值位置不确定,用大绿色框已做标注了
- 代码 (该数组是两个数组合并得到的)
<!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>
var arr1 = [{
hour: '2021-12-01',
val: 'arr1数组1.1',
val2: 'arr1数组1.2',
},
{
hour: '2021-12-02',
val: 'arr1数组2.1',
val2: 'arr1数组2.2',
},
{
hour: '2021-12-03',
val: 'arr1数组3.3',
val2: 'arr1数组3.4',
},
{
hour: '2021-12-08',
val: 'arr1数组4.1',
val2: 'arr1数组4.2',
},
{
hour: '2021-12-12',
val: 'arr1数组5.1',
val2: 'arr1数组5.2',
},
{
hour: '2021-12-18',
val: 'arr1数组6.1',
val2: 'arr1数组6.2',
},
{
hour: '2021-12-30',
val: 'arr1数组7.1',
val2: 'arr1数组7.2',
},
]
var arr2 = [{
time: '2021-12-01',
str: 'arr2数组1'
}, {
time: '2021-12-02',
str: 'arr2数组2'
},
{
time: '2021-12-03',
str: 'arr2数组3'
},
{
time: '2021-12-26',
str: '我是临近值1'
},
{
time: '2021-12-27',
str: '临近值2'
},
{
time: '2021-12-28',
str: ''
},
{
time: '2021-12-29',
str: ''
},
{
time: '2021-12-30',
str: '30号'
},
]
let arrData = [];
// 找出arr1 与 arr2 不相等的数组
arr1.forEach(element => {
var isExist = false;
arr2.forEach(item => {
if (item.time == element.hour) {
isExist = true;
return
}
});
if (!isExist) {
// 将 arr1 与 arr2 不相等的日期 赋值到arrData 【arr1 赋值】
arrData.push({
date: element.hour,
valStr1: element.val,
valStr2: element.val2,
valStr3: '',
})
}
});
// 找出arr2 与 arr1 不相等的数组
arr2.forEach(element => {
let isExist1 = false;
arr1.forEach(item => {
if (element.time == item.hour) {
isExist1 = true;
return
}
});
if (!isExist1) {
// 将 arr2 与 arr1 不相等的日期 赋值到 arrData 【arr2 赋值】
arrData.push({
date: element.time,
valStr1: '',
valStr2: '',
valStr3: element.str,
})
}
});
// let list = [];
// list = this.array1.filter(item => {
// return array2.indexOf(item) === -1
// });
// 找出arr1 与 arr2 时间相等的数组
arr1.forEach(item => {
arr2.forEach(element => {
if (item.hour === element.time) {
// 将arr1 与 arr2 相等的日期 赋值到 arrData
arrData.push({
date: item.hour,
valStr1: item.val,
valStr2: item.val2,
valStr3: element.str,
})
}
})
})
// 日期排序
arrData.sort(function (a, b) {
return b.date > a.date ? -1 : 1
})
// console.log(arrData, '理想数组');
// 处理理想数组中 valStr3 中的空值
arrData.forEach(it =>{
})
</script>
</body>
</html>