我有一个这样的数组。我想知道序列的最大值。
array = [
{
"Id" : "123",
"Description" : "A Test 1",
"isSelected": true,
"Sequence" : 1
},
{
"Id" : "124",
"Description" : "C Test 2",
"isSelected": true,
"Sequence" : 2
},
{
"Id" : "125",
"Description" : "B Test 3",
"isSelected": true,
"Sequence" : 3
},
{
"Id" : "126",
"Description" : "Z Test 4",
"isSelected": true,
"Sequence" : 4
}
]
现在我想找出具有最大值的Sequence。在这种情况下它将是4.我需要此值来匹配用户在输入中输入的值。我试过Math.max,但它给了我undefined。谢谢你的帮助。
答案 0 :(得分:2)
我通常只是粘贴代码,但任何JavaScript初学者都可以从这个回答您问题的代码段中学到一些东西。不需要jQuery。
Math.max.apply(Math, array.map(o => o.Sequence));
// With the new spread operator, it could be
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator
Math.max(...array.map(o => o.Sequence));
array.map
将创建所有序列的数组。 Math.max
为您提供传入的参数的最大值,但它通常称为Math.max(2,5,4,7,4,9)
,因此我使用Function.apply
将数组分散到单独的参数中。