Javascript 提取具有最高属性值的元素

Javascript 提取具有最高属性值的元素,javascript,arrays,Javascript,Arrays,我有下面的对象,它可以有许多careerLevel(我现在已经显示了2个): 我想检查careerID属性,我需要提取具有最高careerID值的元素。 因此,在这种情况下,输出将如下所示: var output= {"201609": 31, "201610": 32, "201611": 33} 我的尝试如下: var res = Math.max.apply(Math, oldArr.careerLevels.map(func

我有下面的对象,它可以有许多careerLevel(我现在已经显示了2个):

我想检查careerID属性,我需要提取具有最高careerID值的元素。 因此,在这种情况下,输出将如下所示:

var output=  {"201609": 31,
               "201610": 32,
               "201611": 33}
我的尝试如下:

var res = Math.max.apply(Math, oldArr.careerLevels.map(function (o) { return o.careerID; })) // This gives me the highest careerID value

var highestOrderArr = oldArr.careerLevels.filter(element => { 
                // i think here i need to make a check for the comparison
});

另一种方法是排序并获取最后一个对象

var input={“careerLevel”:“Associate”,“careerLevels”:[{“201609”:21,“201610”:22,“201611”:23,“careerID”:“10000120”},{“201609”:31,“201610”:32,“201611”:33,“careerID”:“10000130”},
highest=input.careerLevels.sort((a,b)=>a.careerID-b.careerID.pop();
console.log(最高)

。作为控制台包装{max height:100%!important;top:0;}
另一种选择是排序并获取最后一个对象

var input={“careerLevel”:“Associate”,“careerLevels”:[{“201609”:21,“201610”:22,“201611”:23,“careerID”:“10000120”},{“201609”:31,“201610”:32,“201611”:33,“careerID”:“10000130”},
highest=input.careerLevels.sort((a,b)=>a.careerID-b.careerID.pop();
console.log(最高)

.as console wrapper{max height:100%!important;top:0;}
我们可以使用reduce获得最高的
careerID
并输出该对象

var输入={
“职业级别”:“员工”,
“CareerLevel”:[
{
"201609": 21,
"201610": 22,
"201611": 23,
“careerID”:“10000120”
},
{
"201609": 31,
"201610": 32,
"201611": 33,
“careerID”:“10000130”
}]
};
const out=input.careerLevels.reduce((上一个,当前)=>{
返回(prev.careerID>current.careerID)?prev:current
},错)

控制台。注销
我们可以使用reduce来获取最高的
careerID
并输出该对象

var输入={
“职业级别”:“员工”,
“CareerLevel”:[
{
"201609": 21,
"201610": 22,
"201611": 23,
“careerID”:“10000120”
},
{
"201609": 31,
"201610": 32,
"201611": 33,
“careerID”:“10000130”
}]
};
const out=input.careerLevels.reduce((上一个,当前)=>{
返回(prev.careerID>current.careerID)?prev:current
},错)

控制台。注销你有没有尝试过这样做?让我补充一下我正在尝试的内容。这里的目标不是要求我们为你编写代码,而是帮助你修复你编写的代码,这些代码无法按预期工作。在这里使用可能会有帮助。这个问题不包含JSON,与JSON无关。JavaScript对象文字不是JSON。你试过这么做吗?让我补充一下我正在尝试的内容。这里的目标不是要求我们为你编写代码,而是帮助你修复你编写的代码,这些代码没有按预期工作。在这里使用可能会有帮助。这个问题不包含JSON,与JSON无关。JavaScript对象文字不是JSON。但在我的例子中,careerId最高的元素不一定是最后一个。@user3205921请仔细查看。我正在对数组进行排序,然后得到最后一个。但在我的例子中,具有最高careerId的元素不一定是最后一个。@user3205921请仔细查看。我正在对数组进行排序,然后得到最后一个数组。
var res = Math.max.apply(Math, oldArr.careerLevels.map(function (o) { return o.careerID; })) // This gives me the highest careerID value

var highestOrderArr = oldArr.careerLevels.filter(element => { 
                // i think here i need to make a check for the comparison
});