Я пишу что-то, что берет блок текста и разбивает его на возможные запросы к базе данных, которые можно использовать для поиска похожих блоков текста. (что-то похожее на список "похожих вопросов", который генерируется, пока я набираю это )Основной процесс:
Вот что у меня есть:
//baseList starts with an empty array
//candList starts with the array of unique stems
//target is where the arrays of unique combinations are stored
function createUniqueCombos(baseList,candList,target){
for(var i=0;i<candList.length;i++){
//copy the base List
var newList = baseList.slice(0);
//add the candidate list item to the base list copy
newList.push(candList[i]);
//add the new array to the target array
target.push(newList);
//re-call function using new array as baseList
//and remaining candidates as candList
var nextCandList = candList.slice(i + 1);
createUniqueCombos(newList,nextCandList,target);
}
}
Это работает, но на блоках текста больше 25 слов или около того мой браузер вылетает. Я понимаю, что математически может быть огромное количество возможных комбинаций. Я хотел бы знать: