2016-09-23 65 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將數組分散到不同的參數中。

相關問題