const arr = [ { name: 'ceshi1', value1: 345, value2: 85934 }, { name: 'ceshi2', value1: 3432, value2: 343432 }, ]; const result = Math.max( ...arr.map(obj => obj.value1), ...arr.map(obj => obj.value2) );找出最大值,并能找到最大值的那个对象
时间: 2023-11-27 07:04:12 浏览: 134
可以先使用 `Math.max` 函数找出数组中所有元素的最大值,然后再遍历一遍数组,找到包含该最大值的对象即可。
代码实现如下:
```javascript
const arr = [
{ name: 'ceshi1', value1: 345, value2: 85934 },
{ name: 'ceshi2', value1: 3432, value2: 343432 },
];
const maxVal = Math.max(
...arr.map(obj => obj.value1),
...arr.map(obj => obj.value2)
);
const result = arr.find(obj => obj.value1 === maxVal || obj.value2 === maxVal);
console.log(result); // 输出 { name: 'ceshi1', value1: 345, value2: 85934 }
```
相关问题
找出const arr = [ { name: 'ceshi1', value1: 345, value2: 85934 }, { name: 'ceshi2', value1: 3432, value2: 343432 }, ];的最大值
可以写一个函数来实现:
```
function getMaxValue(arr) {
let max = Number.MIN_VALUE;
for (let i = 0; i < arr.length; i++) {
for (let key in arr[i]) {
if (arr[i][key] > max) {
max = arr[i][key];
}
}
}
return max;
}
const arr = [
{ name: 'ceshi1', value1: 345, value2: 85934 },
{ name: 'ceshi2', value1: 3432, value2: 343432 },
];
const maxValue = getMaxValue(arr);
console.log(maxValue); // 输出 343432
```
上面的函数会遍历整个数组,以及每个对象中的所有属性,找到最大的值返回。这里使用了 `Number.MIN_VALUE` 来初始化最大值,因为这是 JavaScript 中最小的数值,这样就保证了后面比较时所有的值都比它大。
const arr = [ { name: 'ceshi1', value1: 345, value2: 85934 }, { name: 'ceshi2', value1: 3432, value2: 343432 }, ]; const result = Math.max( ...arr.map(obj => obj.value1), ...arr.map(obj => obj.value2) );找到最大值的那个字段
可以使用 `reduce()` 方法来实现:
```javascript
const arr = [
{ name: 'ceshi1', value1: 345, value2: 85934 },
{ name: 'ceshi2', value1: 3432, value2: 343432 },
];
const result = arr.reduce((max, obj) => {
const objMax = Math.max(obj.value1, obj.value2);
return objMax > max.value ? { value: objMax, name: obj.name } : max;
}, { value: -Infinity });
console.log(result.name); // 输出 ceshi2
```
这段代码会遍历 `arr` 数组中的每个对象,计算出它们的 `value1` 和 `value2` 字段的最大值,然后将结果与已知的最大值进行比较,返回一个新的最大值对象,直到遍历完所有的对象。最终得到的 `result` 对象就是拥有最大值的那个对象,它的 `name` 字段即为所求的结果。
阅读全文