Javascript:如何从一个函数中获取结果并在另一个函数中使用?

Javascript:如何从一个函数中获取结果并在另一个函数中使用?,javascript,function,variables,Javascript,Function,Variables,我知道以前有人问过这样的问题,但仔细看一下,我不完全确定它是否回答了我的问题。我在一个变量和两个函数中有一个文本字符串。第一个函数依赖于文本字符串,另一个字符串列出了无趣的常用词。函数结果将列出最常用的单词列表,不包括不感兴趣的常用单词。现在我得到的第二个函数使用了相同的原始文本字符串,在不排除任何单词的情况下挑出最常用的单词,但我希望这个脚本获取第一个函数的结果列表,其中我不感兴趣的单词已被排除,然后从结果中挑出最常用的单词,这意味着它必须检查全文和第一个函数的结果 我尝试了一些简单的东西,对

我知道以前有人问过这样的问题,但仔细看一下,我不完全确定它是否回答了我的问题。我在一个变量和两个函数中有一个文本字符串。第一个函数依赖于文本字符串,另一个字符串列出了无趣的常用词。函数结果将列出最常用的单词列表,不包括不感兴趣的常用单词。现在我得到的第二个函数使用了相同的原始文本字符串,在不排除任何单词的情况下挑出最常用的单词,但我希望这个脚本获取第一个函数的结果列表,其中我不感兴趣的单词已被排除,然后从结果中挑出最常用的单词,这意味着它必须检查全文和第一个函数的结果

我尝试了一些简单的东西,对我的新大脑来说是合乎逻辑的,结果证明它不是那么合乎逻辑,所以任何关于我如何将带有有趣单词的列表从函数1转移到函数2的提示,在某种程度上可以将该列表与全文进行比较


如果您需要我正在使用的代码示例,请告诉我,希望问题可以理解,如果不需要,请尝试澄清

编辑:显然没有我想象的那么好解释。最终的结果是脚本返回原始文本,但在整个文本中最常见的单词被改成了其他单词,但现在我最感兴趣的是让它找到那个单词。我现在确实需要这样做:

//function 1
function getUncommon(testText, common) {
var wordArr = testText.match(/\w+/g),
    commonObj = {},
    uncommonArr = [],
    word, i;

common = common.split(',');
for ( i = 0; i < common.length; i++ ) {
    commonObj[ common[i].trim() ] = true;
}

for ( i = 0; i < wordArr.length; i++ ) {
    word = wordArr[i].trim().toLowerCase();
    if ( !commonObj[word] ) {
        uncommonArr.push(word);
    }
}

return uncommonArr;
//var getFrequency2(testText, common);
}
document.write( getUncommon(testText, common) );

//function 2
 function getFrequency2(testText, cutOff) {
 var cleanString = testText.replace(/[\.,-\/#!$%\^&\*;:{}=\-_`~()]/g,""),
  words = cleanString.split(' '),
  frequencies = {},
  word, frequency, i;

 for( i=0; i<words.length; i++ ) {
word = words[i];
frequencies[word] = frequencies[word] || 0;
frequencies[word]++;
 }

 words = Object.keys( frequencies );

 return words.sort(function (a,b) { return frequencies[b] -frequencies[a];}).slice(0,cutOff).toString();
}

document.write( getFrequency2(testText, 1  ) );
函数1:列出最常用的单词,不包括我选择排除的那些单词。 功能2:不排除选择最常用的单词


我想将函数1的结果合并或转换为函数2,这就是我的问题所在。

您可以在javascript中使用如下内容:

var toBeChecked = 'The string to be checked. This will remove irrelevant things from the string and count the occurences';
var toExclude = ['to', 'be', 'the'];
var excludeIrelevant = function(str, excl){
     //logic to exclude the irelevant words fromt he string
     return theArrayOfRelevantStrings;
}
var countOccurences = function(str, excl){
     var relevantWords = excludeIrelevant(str, excl);
     //function that counts the occurences of each word in the relevantWords variable and retruns an array of objects of form [{'word':'the_word', 'count' : number_of_occurences}} 
     return theArrayOfWordCountObjects;
}

var countOfRelevantWords = countOccurences(toBeChecked, toExclude);
CountOfRelantWords变量将包含这两个函数的结果

如果您不想嵌套它们,假设函数已经定义并在其他地方使用,那么:

var excludeIrelevant = function(str, excl){
     //logic to exclude the irelevant words fromt he string
     return theArrayOfRelevantStrings;
}
var countOccurences = function(str){
     //function that counts the occurences of each word in the relevantWords variable and retruns an array of objects of form [{'word':'the_word', 'count' : number_of_occurences}} 
     return theArrayOfWordCountObjects;
}
var relevantWordsList = excludeIrelevant(toBeChecked, toExclude);   
var countOfRelevantWords = countOccurences(relevantWordsList .join(' '));

您可以发布一些代码吗?如果您需要我正在使用的代码示例,请告诉我-所有问题都可以从包含代码中获益,如帮助中心所示。->最后的结果是列出最常用的单词吗?