func Max(ns interface{}, f interface{}) interface{} {
rv := reflect.ValueOf(ns)
if rv.Len() == 0 {
return nil
}
rf := reflect.ValueOf(f)
rft := rf.Type()
out := rft.Out(0)
sort.Slice(ns, func(i, j int) bool {
switch out.Kind() {
case reflect.Float64:
return rf.Call([]reflect.Value{rv.Index(i)})[0].Float() > rf.Call([]reflect.Value{rv.Index(j)})[0].Float()
case reflect.Int, reflect.Int64:
return rf.Call([]reflect.Value{rv.Index(i)})[0].Int() > rf.Call([]reflect.Value{rv.Index(j)})[0].Int()
}
panic("不支持的返回类型")
})
return rv.Index(0).Interface()
}
获取对象数组最大对象
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 直接上代码吧。 $("body").on("click","#submit",function () { //点击...
- CSS3 transform rotate 深入 透视效果perspective(px) ...
- 1、用promise获取新闻练习: //定义获取新闻的功能函数 function getNews(url){ ...