javascript - 比较数组中存储的对象的属性

标签 javascript arrays javascript-objects

我有一个这种格式的 JavaScript 数组:

var dimensions = [
{dim: 590, token:'...'}, 
{dim: 800, token:'.....'}, 
{dim: 2500, token:'........'}
];

dimensions 数组中的数据是动态填充的,即我不知道它是零、一个还是 50 个具有 dimtoken< 的对象 属性。

我需要的是从具有最大值 dim 和最小值 dim 的对象中挑选 token 。有人知道我该怎么做吗?

最佳答案

我建议使用Array.prototype.reduce() 。它返回一个包含数组的最小和最大对象的对象。

var dimensions = [
        { dim: 590, token: '...' },
        { dim: 800, token: '.....' },
        { dim: 2500, token: '........' }
    ],
    result = dimensions.reduce(function (r, a) {
        r.min = r.min || a;
        r.max = r.max || a;
        return { 
            min: r.min.dim < a.dim ? r.min : a, 
            max: r.max.dim > a.dim ? r.max : a
        };
    }, {});

document.write('<pre>' + JSON.stringify(result, 0, 4) + '</pre>');

关于javascript - 比较数组中存储的对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34651701/

相关文章:

javascript - 检查多个文件

javascript - 显示错误答案

javascript - 如何安装 popper v2?

javascript - 空json输出导致的错误 "Object.keys called on non-object"

javascript - 将表单的名称和值放入对象数组 [名称 : value]

javascript - ESLint:为什么 Symbol 没有定义(no-undef 规则)?

c - 如何从标准输入确定二维数组的高度和长度?

javascript - 从json中获取准确的数据进行react

c++ - 我有很多关于 c++ 的问题,这让我很困惑

javascript - 将对象添加到现有对象数组 - JavaScript