Привет, У меня возникла проблема с циклом прохождения массива объектов, чтобы найти наивысшее значение свойства и вернуть объект, который содержит это самое высокое значение свойства. Предположим, что у меня есть этот массив объектов:Цитирование через массив объектов в JavaScript
var eachMapping = [ { I: 1 },
{ w: 1, a: 1, n: 1, t: 1 },
{ t: 1, h: 1, i: 1, s: 1 },
{ w: 1, o: 1, r: 1, d: 6 } ];
var largest = 0;
for(var i = 0; i < eachMapping.length; i++){
for(prop in eachMapping){
if(eachMapping[i][prop] > largest){
largest = eachMapping[i][prop]
wantedobject = eachMapping[i];
}
}
}
console.log(wantedobject)
Это возвращает undefined. Я надеюсь, что для этого цикла будет возвращен { w: 1, o: 1, r: 1, d: 6 }
, присвоив его wantedobject
, поскольку все объекты в массиве имеют значение свойства, которое является самым высоким среди всех значений свойств в других объектах. Благодаря!
'для (проп в eachMapping)' 'должны быть для (вар реквизита в eachMapping [я])'. –
Или, вернее: для (prop в eachMapping [i]) правильно? –
Вы можете сделать это без циклов, с 'reduce' и' Object.keys' – elclanrs