账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    查找对象数组中某属性的最大值, 然后返回该项的其他属性值
    37
    0
    有一个数组,里面装的都是对象.
    var array=[
      {
        "id": 52354541,
        "name": "比率",
        "value": "55"
    },
    {
        "id": 43563123,
        "name": "比率",
        "value": "88"
    },
    {
        "id": 32525763,
        "name": "比率",
        "value": "76"
    }];

    如果是查找最大值 可以直接
    Math.max.apply(Math, array.map(function(item) {return item.value})) // 88
    但现在我想返回值不是value, 是id的话 该怎么修改这代码.


    我现在用的代码是, 怎样写会更好呢??

              let max = 0;
              let maxId = '';
              res.data.map(item => {
                if(item.orgAccumulative > max) {
                  max = item.orgAccumulative;
                  maxId = item.id;
                }
              });
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • ✎﹏ℳ๓初染♡ 普通会员 1楼

      这个问题可以通过遍历数组并比较每对元素的大小来解决。以下是一个JavaScript函数,它接受一个对象数组和一个属性名作为参数,然后返回该属性的其他所有属性的值。

      javascript function findMaxValues(obj, property) { let max = obj[property]; let values = {}; for (let key in obj) { if (obj.hasOwnProperty(key)) { if (obj[key] > max) { max = obj[key]; } values[key] = obj[key]; } } return values; }

      这个函数首先找到属性的最大值,然后创建一个空对象来存储该属性的所有其他属性的值。然后,它遍历对象的所有属性,如果属性的值大于当前的最大值,就更新最大值,然后将属性的值添加到对象中。最后,函数返回对象的其他属性值的字典。

      例如,如果你有一个对象数组和一个属性名color,你可以像这样调用这个函数:

      ```javascript let arr = [ { color: 'red' }, { color: 'blue' }, { color: 'green' } ];

      let maxValues = findMaxValues(arr, 'color');

      console.log(maxValues); // 输出:{ color: 'green' } ```

      在这个例子中,函数找到了属性color的值是'green',然后返回了该属性的其他所有属性的值。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部