考虑到我有这个
type DataTableType = {
name: string;
series: {
name: string;
value: number;
}[];
}[];
let datatable: DataTableType = [
{
name: 'Row 1',
series: [
{
name:'Series 1',
value:7110
},
{
name:'Series 2',
value:8240
},
{
name:'Series 3',
value:2111
},
{
name:'Series 4',
value:3120
}
]
},
{
name: 'Row 2',
series: [
{
name:'Series 1',
value:6500
},
{
name:'Series 2',
value:9120
},
{
name:'Series 3',
value:5123
},
{
name:'Series 4',
value:8200
}
]
},
{
name: 'Row 3',
series: [
{
name:'Series 1',
value:-6453
},
{
name:'Series 2',
value:-9000
},
{
name:'Series 3',
value:5009
},
{
name:'Series 4',
value:8900
}
]
},
{
name: 'Row 4',
series: [
{
name:'Series 1',
value:8567
},
{
name:'Series 2',
value:4332
},
{
name:'Series 3',
value:-3111
},
{
name:'Series 4',
value:-3222
}
]
},
{
name: 'Row 5',
series: [
{
name:'Series 1',
value:8333
},
{
name:'Series 2',
value:3234
},
{
name:'Series 3',
value:-7323
},
{
name:'Series 4',
value:1544
}
]
},
{
name: 'Row 6',
series: [
{
name:'Series 1',
value:2112
},
{
name:'Series 2',
value:3232
},
{
name:'Series 3',
value:-8231
},
{
name:'Series 4',
value:1111
}
]
},
{
name: 'Row 7',
series: [
{
name:'Series 1',
value:-2112
},
{
name:'Series 2',
value:3232
},
{
name:'Series 3',
value:8231
},
{
name:'Series 4',
value:-9111
}
]
},
{
name: 'Row 8',
series: [
{
name:'Series 1',
value:-2112
},
{
name:'Series 2',
value:100
},
{
name:'Series 3',
value:-3
},
{
name:'Series 4',
value:0
}
]
}
]
我想使用RxJS从数据表中找到最大值和最小值,我已经完成了下面的操作以找到最大值和最小值
function findMax(column: DataTableType) {
let maxN = column[0].series[0].value;
of(...column)
.pipe(
mergeMap(
(item: DataTableType[number], i: number) => from(
[...item.series]
)
.pipe(
max((a, b) => a.value < b.value? b.value : a.value)
)
)
)
.subscribe(
(category: { value: number; }) => {
maxN = category.value;
}
)
;
return maxN;
}
function findMin(column: DataTableType) {
let minN = column[0].series[0].value;
of(...column)
.pipe(
mergeMap(
(item: DataTableType[number], i: number) => from(
[...item.series]
)
.pipe(
min((a, b) => a.value > b.value? b.value : a.value)
)
)
)
.subscribe(
(category: { value: number; }) => {
minN = category.value;
}
)
;
return minN;
}
但是每当我运行函数findMax(DataTable)和findMin(DataTable)时,我得到对象数组的最后一个元素(即第8行)的max=0和min=-2112.
我的预期答案应该是max=9120和min=-9111
求求你我需要帮助.