I mit Eigenschaften ein Array haben, nehmen Sie die folgende Beispiel:Summe der Objekteigenschaften innerhalb eines Arrays
var arrayPeople = [
{
name: 'joe',
job: 'programmer',
age: 25,
},
{
name: 'bob',
job: 'plumber',
age: 30,
};
];
Ich möchte eine Funktion erstellen, die ihre Durchschnittsalter zurück, hier ist das, was ich habe, dass ist derzeit nicht
var ageAverage = function(array) {
var age = 0, average;
for (var i = 0; i < array.length; i++) {
age += array[i].age;
}
average = age/array.length;
return average;
};
arbeiten Was erhalte ich, wenn diese Funktion ausgeführt wird, nicht eine Zahl
Aber was ich kann, um Arbeit zu bekommen ist:
var ageAverage = function(array) {
var age = 0, average;
for (var i = 0; i < array.length; i++) {
age = array[0].age;
}
average = age/array.length;
return average;
};
Der feine Unterschied hier ist, dass ich die + = wegnahm und machte es einfach =, und ich nahm die Nutzung unserer Variable i weg und gab es nur der erste Index des Arrays. Wenn ich das mache, weiß ich, dass die Funktion das Array array korrekt durch arrayPeople ersetzt, aber in meiner for-Schleife läuft etwas schief, das verhindert, dass ich 0 und 1 werde (die Indizes von arrayPeople).
P.S. Ich versuche das alleine zu machen, und ich suche niemanden, der das Problem nur für mich löst, ich würde wirklich nur einige Hinweise darauf zu schätzen wissen, was zu beheben ist oder vielleicht ein Konzept, das ich erforsche muss dieses Problem.
Danke !!
Versuchen Array Transformieren [i] .age in einer Zahl. Initialisieren Sie auch Variablen, es ist eine gute Übung. Verwenden Sie Array nicht als Namen einer Variablen, in manchen Sprachen ist es ein reserviertes Wort. Überprüfen Sie auch Ihr Array von Objekten, gibt es einige Fehler (Kommas und Semikolon) – acontell