我对javascript很新。我有点困惑,如何从嵌套数组中找到特定数组对象的最大值。例如
如果我们有这样的巨大阵列......
[
.....
[ { id: 0, value: 13, jobs: [Object], name: 'M1' },
{ id: 1, value: 19, jobs: [Object], name: 'M2' } ],
[ { id: 0, value: 13, jobs: [Object], name: 'M1' },
{ id: 1, value: 19, jobs: [Object], name: 'M2' } ],
[ { id: 0, value: 19, jobs: [Object], name: 'M1' },
{ id: 1, value: 13, jobs: [Object], name: 'M2' } ],
[ { id: 0, value: 21, jobs: [Object], name: 'M1' },
{ id: 1, value: 11, jobs: [Object], name: 'M2' } ],
[ { id: 0, value: 19, jobs: [Object], name: 'M1' },
{ id: 1, value: 13, jobs: [Object], name: 'M2' } ],
[ { id: 0, value: 11, jobs: [Object], name: 'M1' },
{ id: 1, value: 21, jobs: [Object], name: 'M2' } ]
....
]
如何借助嵌套数组中的valueObject帮助在每个数组对象值中找到最大值。 对不起,我并不擅长提出我的问题 但看看这个例子......
[
.....
//Higest value of the value Object in below Array Object is 19
[
{ id: 0, value: 13, jobs: [Object], name: 'M1' },
{ id: 1, value: 19, jobs: [Object], name: 'M2' }
],
//Higest value of the value Object in below Array Object is 18
[
{ id: 0, value: 13, jobs: [Object], name: 'M1' },
{ id: 1, value: 18, jobs: [Object], name: 'M2' }
],
//Higest value of the value Object in below Array Object is 21
[
{ id: 0, value: 21, jobs: [Object], name: 'M1' },
{ id: 1, value: 13, jobs: [Object], name: 'M2' }
],
....
]
我的结果应该是这样的 只打印像这样的最低数组对象
//Higest value of the value Object in below Array Object is 18
[
{ id: 0, value: 13, jobs: [Object], name: 'M1' },
{ id: 1, value: 18, jobs: [Object], name: 'M2' }
],
//Higest value of the value Object in below Array Object is19
[
{ id: 0, value: 13, jobs: [Object], name: 'M1' },
{ id: 1, value: 19, jobs: [Object], name: 'M2' }
],
答案 0 :(得分:0)
您可以使用Lodash库来获取它。
获取以下是如何使用Loadash执行此操作的示例:
首先,让我们假设您的数据结构为:
var myArray = [
[ { id: 0, value: 13, jobs: [Object], name: 'M1' },
{ id: 1, value: 19, jobs: [Object], name: 'M2' } ],
[ { id: 0, value: 13, jobs: [Object], name: 'M1' },
{ id: 1, value: 19, jobs: [Object], name: 'M2' } ],
[ { id: 0, value: 19, jobs: [Object], name: 'M1' },
{ id: 1, value: 13, jobs: [Object], name: 'M2' } ],
[ { id: 0, value: 21, jobs: [Object], name: 'M1' },
{ id: 1, value: 11, jobs: [Object], name: 'M2' } ],
[ { id: 0, value: 19, jobs: [Object], name: 'M1' },
{ id: 1, value: 13, jobs: [Object], name: 'M2' } ],
[ { id: 0, value: 11, jobs: [Object], name: 'M1' },
{ id: 1, value: 21, jobs: [Object], name: 'M2' } ]
];
您可以使用Loadash为每个子数组找到更大的值:
_.forEach(myArray, function(subArray) {
var subArrayValues = _.map(subArray, function (o) {
return o.value;
});
var subArrayMaxValue = _.max(subArrayValues);
var subArrayMinValue = _.min(subArrayValues);
console.log("Higest value of the value Object in below Array Object is " + subArrayMaxValue);
console.log("Lowest value of the value Object in below Array Object is " + subArrayMinValue);
console.log(subArray);
});