我知道之前曾经问过这样的问题,但是过了他们我不能完全确定它能解决我想要的问题。我在一个变量和两个函数中有一串文本。第一个函数依赖于文本字符串,另一个字符串列出了无趣的常用单词。函数结果将列出最常见的单词列表,排除不感兴趣的常用单词。现在我得到的第二个函数使用相同的原始文本字符串(现在)来挑出最常用的单词而不排除任何单词,但我希望这个脚本能够获取第一个函数的结果列表,其中我是单词没有兴趣被排除在外,然后从那个结果中挑出最常用的单词,这意味着它必须检查全文和第一个函数的结果。
我已经尝试了一些简单的东西,对于我的“新到这个”大脑被认为是合乎逻辑的,结果证明它不是那么合乎逻辑,因此任何关于我如何将有效单词从函数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中,这就是我的问题所在。
答案 0 :(得分:1)
你可以在javascript中使用这样的东西:
[HttpGet]
[Route("api/Admin/GetLoanInfo")]
public async Task<IHttpActionResult> GetLoanInfo(int loanID)
{
LoanApplication newApplication = null;
newApplication = db.LoanApplications.FirstOrDefault(s => s.LoanId == loanID);
return Ok(newApplication);
}
[HttpGet]
[Route("api/Admin/GetLoanCovenants")]
public async Task<IHttpActionResult> GetLoanCovenants(int loanID)
{
LoanCovenant newCovenant = null;
newCovenant = db.LoanCovenants.FirstOrDefault(s => s.LoanID == loanID);
return Ok(newCovenant);
}
countOfRelevantWords变量将包含两个函数的结果。
如果您不想嵌套它们,(让我们说这些功能已经定义并在其他地方使用),那么:
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);