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);
}
我有不同程度的JavaScript
列表數據的同一層次空單,而不是循環的任何級別明確我使用遞歸調用(這是幸運的工作正常),但功能總是返回空列表。遞歸函數返回的JavaScript
提供上述功能 – dev
數據輸入爲例,來的jsfiddle讓我們看到你的代碼運行。 –
您可以在函數內部定義'lineItemList',這意味着每次調用該函數時都會從空數組開始。您需要將數組作爲參數傳遞給函數,並且還需要'返回'getLineItemList'函數的結果。 – Titus