美文网首页
获取对象数组最大对象

获取对象数组最大对象

作者: funcx | 来源:发表于2020-01-03 15:50 被阅读0次
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()
}

相关文章

  • 获取对象数组最大对象

  • ES6之对象优化

    新增的API keys():获取对象的所有key形成的数组 values():获取对象的所有value形成的数组 ...

  • HZ数组对象去重

    // 根据数组对象中属性去重 思路:在原数组对象中 直接捡出 不重复的 数组对象, 过程:1.获取不重复的属性数组...

  • JS数组及数组中常用方法

    数组 数组是对象数据类型的,它属于特殊的对象 根据索引获取指定项的内容 通过array.length获取数组的长度...

  • 读书笔记:常用DOM操作

    1、获取dom对象/对象数组(常用),返回一个dom数组 (1)document/dom.getElementBy...

  • 提升js幸福感的技巧

    求数组对象的最大值 求连续出现次数最多的字符 数组对象去重 数组变成对象 防抖与节流

  • iOS 获取数组最大值最小值

    1.获取数组最大值、最小值 保证数组里存储NSNumber对象例如处理接口中数据: 重点参数:@"@max.flo...

  • iOS 获取数组最大值最小值

    如何优雅的处理数组?如何不使用遍历方法处理。 1.获取数组最大值、最小值 保证数组里存储NSNumber对象例如处...

  • js获取数组中某属性的最大值和最小值

    一、计算对象数组某属性最大值 二、计算对象数组某属性最小值 示例

  • 字段访问指令

    对象创建后,就可以通过对象访问指令获取对象实例或数组实例中的字段或者数组元素。 访问类字段(static字段,或者...

网友评论

      本文标题:获取对象数组最大对象

      本文链接:https://www.haomeiwen.com/subject/hdnzoctx.html