Javascript未知错误

时间:2013-12-09 18:26:17

标签: javascript iteration

我的代码出现问题,过去两天我都无法解决问题。

 /**
 * 
 *///function 7
/**
 * returns the number of times that pattern occurs in string 
 */
    function score(string,pattern) {
        var v = string.toUpperCase();
        var s = pattern.toUpperCase();
        var result = [];
        for (var i = 0; i < string.length; i++) {
            var index = v.indexOf(s, i);
            if (index != -1) {
                result[result.length]=index;
                i = index;
            }
        }
        return result.length;
    }

    /**
     * returns an array of records of the form {trackTitle: ..., trackLyrics: ..., trackScore: ...} derived from web. 
     * Each record contains the track title, track lyrics and pattern score of its corresponding content.
     * 
     * 
     * 
     */

    //FUNCTION 9

    function urlScores(music, pattern) { 
        var scoresArray = [];
        for(var i = 0; i < music.length; i++) {
            for(var j = 0; j < music[i].tracks.length; j++){
                var itemScore = score(music[i].tracks[j].title, pattern) + score(music[i].tracks[j].lyrics, pattern);


                if (itemScore > 0) {
                    scoresArray[scoresArray.length] = ({indexOfTrack: j, trackTitle: music[i].tracks[j].title, trackLyrics: music[i].tracks[j].lyrics, trackScore: itemScore, album: music[i]});
                }
                itemScore = 0;
            }
        }
        return scoresArray;
    }
    /**
     * Sorts the result of urlScores() into descending order.
     * Records with a score of zero are omitted.
     */

    //FUNCTION 10

    function rankedScores(music, pattern) { 
        var scoresArray = urlScores(music, pattern);  

        function swap(a, b) {
            var temp = scoresArray[a];
            scoresArray[a] = scoresArray[b];
            scoresArray[b] = temp;
        }

        for(var i = 0; i < scoresArray.length; i++) {
            for(var x = 0; x < scoresArray.length - 1; x++) {

                if (scoresArray[x].score > scoresArray[x + 1].score) {
                    swap(x, x + 1);
                }
            }
        }
        alert(scoresArray);
    }

当我使用以下内容运行它时:

  rankedScores(albums, "sparrow");

相册变量为 - http://pastebin.com/G25SxrwY

错误如下 -

  [object Object],[object Object]

非常感谢!

1 个答案:

答案 0 :(得分:1)

这不是错误: 如果你将包含两个对象的数组进行字符串化,那就是假定的输出。