1

配列にレコードを追加する際に問題が発生しています。問題は次のとおりです。

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

エラーレポート: SyntaxError: Unexpected token +

これは、このコードのピースが読み取っている配列です。

var web = [ {url : "www.lboro.ac.uk", content : "ラフバラー大学は、単学位プログラムと世界クラスの研究を提供しています。" } , {url : "www.xyz.ac.uk", content : "別の大学" } , {url : "www", content : "さらに別の大学" } ];

4

1 に答える 1

2

内部に 1 つの長い文字列を作成しているよう{}です。一方、オブジェクト リテラルの構文は です{ 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
    });
}
于 2013-11-09T22:33:12.703 に答える