function getLineItemList(quotationItemElements, checkedLineItemIds) {
var lineItemList = [];
quotationItemElements.children.forEach(function (quotElement, index) {
if(!parseBoolean(quotElement.isGroup)){
checkedLineItemIds.forEach(function (checkedId, index) {
if(quotElement.id == checkedId){
lineItemList.push(quotElement);
}
});
}else {
if(quotElement.children.length > 0){
getLineItemList(quotElement, checkedLineItemIds);
}
}
});
return lineItemList;
}
function parseBoolean(str) {
return /true/i.test(str);
}
Ich habe gleiche Hierarchie von Daten auf verschiedenen Ebenen der JavaScript
Liste, sondern jede Ebene der Schleife explizit i rekursiven Aufruf verwenden (die zum Glück funktioniert prima) Aber Funktion gibt leere Liste immer .rekursive Funktion zurückgeben leere Liste in JavaScript
einen Dateneingang Beispiel für die obige Funktion – dev
eine jsfiddle machen, damit wir Ihr Code ausgeführt wird sehen können. –
Sie definieren 'lineItemList' in der Funktion, was bedeutet, dass Sie bei jedem Aufruf der Funktion mit einem leeren Array beginnen. Sie müssen das Array als Parameter an die Funktion übergeben, und Sie müssen auch das Ergebnis der Funktion "getLineItemList" zurückgeben. – Titus