我有一个这种格式的 JavaScript 数组:
var dimensions = [
{dim: 590, token:'...'},
{dim: 800, token:'.....'},
{dim: 2500, token:'........'}
];
dimensions
数组中的数据是动态填充的,即我不知道它是零、一个还是 50 个具有 dim
和 token< 的对象
属性。
我需要的是从具有最大值 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/