Javascript 在对象数组中查找属性的最大值并返回整个对象
我知道这里也有人问过类似的问题:,但使用该方法无法返回包含最大值的整个对象 我有一组对象:Javascript 在对象数组中查找属性的最大值并返回整个对象,javascript,Javascript,我知道这里也有人问过类似的问题:,但使用该方法无法返回包含最大值的整个对象 我有一组对象: [ {Prop: "something", value: 2}, {Prop: "something_else", value: 5}, {Prop: "bla", value: 3} ] 我想找到属性“value”上的最大值,然后返回整个对象 {Prop: "something_else", value: 5} 在javascript中最简单的方法是什么?试试以下方法: array.slice
[
{Prop: "something", value: 2},
{Prop: "something_else", value: 5},
{Prop: "bla", value: 3}
]
我想找到属性“value”上的最大值,然后返回整个对象
{Prop: "something_else", value: 5}
在javascript中最简单的方法是什么?试试以下方法:
array.slice().sort(function(a, b) { return a.value < b.value; })[0];
array.slice().sort(函数(a,b){返回a.value
(
slice
克隆阵列)也可以使用类似array.prototype.reduce的东西
i、 e
编辑:如果您想要一种基本的方法,只需在数组中进行迭代,就可以执行以下操作:
function maxVal(arr) {
var max = arr[0];
for (var i = 1, iMax = arr.length; i < iMax; i++) {
if (max.value < arr[i].value) {
max = arr[i];
}
}
return max;
}
函数maxVal(arr){
var max=arr[0];
对于(变量i=1,iMax=arr.length;i
如果A是对象数组
function return_Max_Object(A)
{
var M = -Infinity;
var Max_index = -1;
for(var i =0;i<A.length;i++)
{
if(A[i].value>M)
{
M = A[i].value;
Max_index = i;
}
}
return A[Max_index];
}
函数返回\u Max\u对象(A)
{
var M=-无穷大;
var Max_指数=-1;
对于(变量i=0;iM)
{
M=A[i]。数值;
最大指数=i;
}
}
返回一个[最大索引];
}
函数getMaxByVal(objArr){
var max=objArr[0][“值”];
var indexStore=0;
var i=0;
对于(len=objArr.length;i最简单的方法是使用。我们可以用所需的最少步骤来处理此问题,如果当前元素的值大于上一个值,只需替换上一个值:
const objs=[
{Prop:“某物”,value:2},
{Prop:“其他东西”,值:5},
{Prop:“bla”,值:3}
];
常量maxObj=objs.reduce((p,c)=>p.value>c.value?p:c);
console.log(maxObj)
只是循环数组。这还不够。否则我会这样做。为什么还不够?更好:我不知道如何在循环中找到最大值并跟踪对象。哦,看我的答案,这是最简单的方法,循环元素并跟踪最大值并返回该对象。第一种方法有效。简单的方法没有任何问题t、 没有“值”的痕迹。无论如何,谢谢。如果你最后删除[“值”]也可以。我想要整个对象。
function return_Max_Object(A)
{
var M = -Infinity;
var Max_index = -1;
for(var i =0;i<A.length;i++)
{
if(A[i].value>M)
{
M = A[i].value;
Max_index = i;
}
}
return A[Max_index];
}
function getMaxByVal(objArr){
var max=objArr[0]["value"];
var indexStore=0;
var i=0;
for(len=objArr.length; i<len;i++){
if(max < objArr[i]["value"]){
max=objArr[i]["value"];
indexStore=i;
}
}
return objArr[indexStore]["value"]
}