2016-09-23 104 views
-2

我有一个这样的数组。我想知道序列的最大值。如何在数组中的对象中查找参数的最大值?

      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 
         } 
] 

现在我想找出具有最大值的序列。在这种情况下,它将是4.我需要这个值来匹配用户在输入中输入的值。我尝试了Math.max,但它给我未定义。谢谢你的帮助。

+0

我需要Jquery的解决方案。谢谢 – zee

+0

不要泄露SO用户 - 显示您的代码尝试! –

+1

要求人们为你写代码并不礼貌。请尝试一下,然后问一个问题,如果它不起作用。您可以使用'Math.max和Array.map'将它写入一行中。 –

回答

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将数组分散到不同的参数中。

相关问题