我想改善這個循環。理想情況下,我不想在函數範圍之外使用變量'nodeFound',並且我希望在循環完成後立即返回'nodeFound'。我怎樣才能使這個循環更高性能
var nodeFound;
proto._getNodeById = function(id, node) {
var data = node || this._data;
var l = data.length;
var i;
for (i = 0; i < l; i++) {
if (Number(id) === data[i].id) {
nodeFound = data[i];
} else {
if (data[i].children.length) {
this._getNodeById(id, data[i].children);
}
}
}
return nodeFound;
};
這不是要求這種事情的網站。請訪問:http://codereview.stackexchange.com/ – Bloodcount
如果您希望在找到節點時立即打破環路,只需將nodeFound指定爲期望值並「斷開」即可。循環 –