I have this recursive function that searches an object tree structure:
dataSearcher = (dataElement, identifierToFind) -> if dataElement.identifier == identifierToFind return dataElement else for childDataElement in dataElement.children found = dataSearcher childDataElement, identifierToFind if found then return found
Which I then call thus:
foundDataElement = dataSearcher @options.nodeData, identifier
It works just fine so I am happy about that, but I am pretty new to CoffeeScript and would like feedback on the way I structured it. The loop I used seems a bit old school, so could I have used a comprehension here instead? Any other feedback would be great as I am still getting my head into the CoffeeScript idiom.
Please let me know if I should edit with more context code.