仅在javascript中从对象查找最大值和最小值

仅在javascript中从对象查找最大值和最小值,javascript,Javascript,嗨,我有一个如下的数组 dataArray(7)[ {dataIndex: 0, specialEventID: 65268} 1 : {dataIndex: 1, specialEventID: 65268} 2 : {dataIndex: 1, specialEventID: 65271} 3 : {dataIndex: 1, specialEventID: 65272} 4 : {dataIndex: 2, specialEventID: 65270} 5 : {dataIndex: 5,

嗨,我有一个如下的数组

dataArray(7)[
{dataIndex: 0, specialEventID: 65268}
1
:
{dataIndex: 1, specialEventID: 65268}
2
:
{dataIndex: 1, specialEventID: 65271}
3
:
{dataIndex: 1, specialEventID: 65272}
4
:
{dataIndex: 2, specialEventID: 65270}
5
:
{dataIndex: 5, specialEventID: 65269}
6
:
{dataIndex: 6, specialEventID: 65269}
]
现在我想要每个specialEventID的最大和最小索引 比如65268['max':1,'min':0]

65271['max':1, 'min':1] //because only one object for 65271
 65272['max':1, 'min':1] //because only one object for 65272
 65270['max':2, 'min':2]//because only one object for 65270
 65270['max':5, 'min':6]
有人能帮我找到上面提到的最大和最小索引吗?
提前感谢。

您可以选择一个对象作为结果,其中
specialventid
作为键,对象用于最小值和最大值

var data=[{dataIndex:0,specialventid:65268},{dataIndex:1,specialventid:65268},{dataIndex:1,specialventid:65271},{dataIndex:1,specialventid:65272},{dataIndex:2,specialventid:65270},{dataIndex:5,specialventid:65269},{dataIndex:6,specialventid:65269}],
结果={};
data.forEach(函数(o){
如果(!结果[o.specialEventID]){
结果[o.specialEventID]={min:o.dataIndex,max:o.dataIndex};
返回;
}
if(结果[o.specialEventID].min>o.dataIndex){
结果[o.specialEventID].min=o.dataIndex;
返回;
}
if(结果[o.specialEventID].max
.as控制台包装{最大高度:100%!重要;顶部:0;}
const数据数组=[
{dataIndex:0,specialventid:65268},
{dataIndex:1,specialventid:65268},
{dataIndex:1,specialventid:65271},
{dataIndex:1,specialventid:65272},
{dataIndex:2,specialventid:65270},
{dataIndex:5,specialventid:65269},
{dataIndex:6,specialventid:65269}
];
const ret=dataArray.reduce((a,v)=>{
var k=v.specialventid;
a[k]=a[k]?
{min:Math.min(a[k].max,v.dataIndex),
max:Math.max(a[k].max,v.dataIndex)}:
{min:v.dataIndex,max:v.dataIndex};
返回a;
}, {});

控制台日志(ret)请包括尝试的解决方案,为什么它们不起作用,以及预期的结果。这将真正帮助我们解决代码的问题。谢谢您好@palasH,我不知道如何继续,但预期结果将是65271['max':1,'min':1]//因为65271 65272['max':1,'min':1]//只有一个对象['max':2,'min':2]//因为65270 65270['max':5,'min':6]只有一个对象我需要在arrayHi@Nina Scholz中第一次和最后一次出现一个特殊的事件,谢谢。它工作得很好。非常感谢你。