zyzx1986 2020-12-10 00:53 采纳率: 0%
浏览 27

急求 一个比较obj 大小问题的算法

比如 有这么一组数据,优先比较type=2的,如果num大的就直接返回 大的那个obj的key,如果type2都一样,就比较type3的,依次类推,。比如下面这个,想返回结果就是c对象的key            3

let a = {1:[[{type:2,num:3},[{type:3,num:5}]]};
let b = {2:[[{type:2,num:3},[{type:3,num:6}]]};
let c = {3:[[{type:2,num:3},[{type:3,num:7}]]};
  • 写回答

1条回答 默认 最新

  • 畅识搭拿 2020-12-10 10:34
    关注

    对象的格式可以重新整理一下

    var arr = [
        {
            "k": "a",
            "type2": 3,
            "type3": 5
        },
        {
            "k": "b",
            "type2": 3,
            "type3": 6
        },
        {
            "k": "c",
            "type2": 3,
            "type3": 7
        }
    ]
    	var k = '';
    	var type2 = type3 = 0;
    for(var i=0;i<(Object.getOwnPropertyNames(arr).length-1);i++){
    	if(arr[i].type2>type2){
    		type2 = arr[i].type2;
    		type3 = arr[i].type3;
    		k = arr[i].k;
    	}else if(arr[i].type2==type2){
    		k = arr[i].type3>type3?arr[i].k:k;
    		type3 = arr[i].type3>type3?arr[i].type3:type3;
    	}
    }
    console.log(k);
    评论

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记