2017-06-05 1 views
1

Nach der Ausführung scheint es bei test fehlschlagen: "sollte ein Array mit allen Elementen größer als 10 im Array am Schlüssel zurückgegeben werden". Ich verstehe nicht warum.Erstellen Sie ein Array mit Werten im Array in einem Schlüssel

var obj = { 
 
    key:[1,20,30] 
 
}; 
 

 
function getElementsGreaterThan10AtProperty(obj, key) { 
 
    
 
    var arr = []; 
 
    for (var prop in obj) { 
 
    for (var i = 0; i < obj[prop].length; i++) { 
 
     if (obj[prop][i] > 10) { 
 
     arr.push(obj[prop][i]); 
 
     } 
 
    } 
 
    } 
 
    return arr; 
 
} 
 

 
getElementsGreaterThan10AtProperty(obj,'key') 
 

 

 

Antwort

0

Sie verwenden nicht die key Parameter an die Funktion überhaupt vergangen, und Ihre for (var prop in obj) Iteration ist nicht erforderlich, da jetzt sind Sie ein Array aller Elemente über 10 in allen Eigenschaften der Rückkehr obj, nicht nur die von key angegebene. Sie müssen diese Schleife entfernen und verwenden key statt prop:

function getElementsGreaterThan10AtProperty(obj, key) { 
    var arr = []; 
    for (var i = 0; i < obj[key].length; i++) { 
    if (obj[key][i] > 10) { 
     arr.push(obj[key][i]); 
    } 
    } 
    return arr; 
} 
+0

Dank für Ihre schnelle Antwort! – JeroenT

Verwandte Themen