【问题标题】:Javascript record errorJavascript记录错误
【发布时间】:2013-11-09 22:30:54
【问题描述】:

我在向数组添加记录时遇到问题,这就是问题所在:

  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 : "又一大学" } ];

【问题讨论】:

    标签: javascript arrays design-patterns syntax


    【解决方案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
        });
    }
    

    【讨论】:

    • @minty 谢谢你,成功了!只是一个普遍的问题。我将如何根据 itemScore 的大小进行排序,降序。
    • @user2964960:看看Array.prototype.sort——你可以给它传递一个从另一个减去一个的函数。
    猜你喜欢
    • 2012-05-10
    • 2016-09-20
    • 2012-06-30
    • 2016-06-08
    • 2012-01-09
    • 2015-10-19
    • 2011-12-05
    • 2017-12-18
    • 2019-04-11
    相关资源
    最近更新 更多