如何在数组中的对象中找到参数的最大值?

时间:2016-09-23 19:45:33

标签: jquery arrays json object

我有一个这样的数组。我想知道序列的最大值。

                            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。谢谢你的帮助。

1 个答案:

答案 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将数组分散到单独的参数中。