2016-11-17 14 views
-1
function score(string,pattern) 
{ 
    var lowercasestring = string.toLowerCase(); 
    var lowercasepattern = pattern.toLowerCase(); 
    var patterncount = 0; 
    for(i=0;i<lowercasestring.length;i++) //For loop that cycles through each character in the string 
     if(i==lowercasestring.indexOf(lowercasepattern,i)) //If the pattern exists in the string past the current character it's on, add one to the patern count 
      patterncount++; 
    return(patterncount); 
} 

var web = [ {url : "www.lboro.ac.uk", content : "Loughborough University offers degree programmes and world class research." } , {url : "www.xyz.ac.uk", content : "An alternative University" } , {url : "www", content : "Yet another University" } ] 

function urlScores(web,pattern) 
{ 
    var array = []; 
    for(var i=0;i<=web.length-1;i++) 
    { 
     var record = {}; 
     record.url = web[i].url; 
     record.score = score(web[i].content,pattern); 
     if (record.score!=0) 
     { 
     array[i] = record; 
     } 
    } 
    return(array); 
} 

alert(urlScores(web,"University")); 

、下部に警告のみrecord.scoreとレコードに警告[オブジェクトのオブジェクト]、[対象オブジェクト]、[対象オブジェクト]が適切

を返します。 urlは正しい値を与えますが、それに関するアラートの記録はそれ自身のアラート[オブジェクトオブジェクト]です。したがって、配列[i]はレコードとして設定されており、それが返されます。レコードを実際にどのように表示するかはわかりません{url:web [i] .url value score:スコア(web [i] .content、pattern value)(私はそれを値の部分なしで入れようとしました。

console.logには値が表示されるはずですが、Console.logでアラートを置き換えるとObjectも表示されますが、それはどのように.urlと関係があるかです。スコアはに置かれている。

答えて

0

こんにちは、コードは完全に動作しています。 alert(urlScores(web,"University"));console.table(urlScores(web,"University"));に置き換えると、コンソールに目的の結果が表示されます。

+0

私は値を警告するつもりですので、arraytoreturn変数を作成し、urlとスコアを文字列形式で出力しましたが、将来私はconsole.tableについて学習します – JReyn

0

アラートは、コンソールを使ってみて、ちょうどディスプレイ単純な文字列のためであり、あなたはそれが働いています表示されます。..

function score(string,pattern) 
 
{ 
 
    var lowercasestring = string.toLowerCase(); 
 
    var lowercasepattern = pattern.toLowerCase(); 
 
    var patterncount = 0; 
 
    for(i=0;i<lowercasestring.length;i++) //For loop that cycles through each character in the string 
 
     if(i==lowercasestring.indexOf(lowercasepattern,i)) //If the pattern exists in the string past the current character it's on, add one to the patern count 
 
      patterncount++; 
 
    return(patterncount); 
 
} 
 

 
var web = [ {url : "www.lboro.ac.uk", content : "Loughborough University offers degree programmes and world class research." } , {url : "www.xyz.ac.uk", content : "An alternative University" } , {url : "www", content : "Yet another University" } ] 
 

 
function urlScores(web,pattern) 
 
{ 
 
    var array = []; 
 
    for(var i=0;i<=web.length-1;i++) 
 
    { 
 
     var record = {}; 
 
     record.url = web[i].url; 
 
     record.score = score(web[i].content,pattern); 
 
     if (record.score!=0) 
 
     { 
 
     array[i] = record; 
 
     } 
 
    } 
 
    return(array); 
 
} 
 

 
console.log(urlScores(web,"University"));