2013-11-09 41 views
1
我有在添加記錄陣列一個問題

,這就是問題的所在:的Javascript記錄錯誤

if(score(web[i].content, pattern) > 0){ 
     scoresArray.push({"url:" + web[i].url + ", score:" + score(web[i].content, pattern)}); 
    } 

錯誤報告:語法錯誤:意外的令牌+

這是數組,這和平的代碼是從讀:

var web = [{url:「www.lboro.ac.uk」,內容:「拉夫堡大學提供unidegree計劃和世界級的研究。」 },{url:「www.xyz.ac.uk」,內容:「另一所大學」},{url:「www」,內容:「另一所大學」}];

回答

2

您似乎在製作{}中的一個長字符串。另一方面,對象文字的語法是{ key: expression, … },其中key是一個字符串或標識符。

那麼試試這個:

if(score(web[i].content, pattern) > 0) { 
    scoresArray.push({ 
     url: web[i].url, 
     score: score(web[i].content, pattern) 
    }); 
} 

你可能要保持score的返回值的保持,也:

var item = web[i]; 
var itemScore = score(item.content, pattern); 

if (itemScore > 0) { 
    scoresArray.push({ 
     url: item.url, 
     score: itemScore 
    }); 
} 
+0

@minty謝謝你,它的工作!只是一個普遍的問題。我將如何按照itemScore的大小對其進行排序,降序排列。 – user2964960

+0

@ user2964960:看看['Array.prototype.sort'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) - 你可以通過它是一個從另一箇中減去一個的函數。 – rninty