0

こんにちは、私は音楽プレーヤーを開発しており、ID3 または別名「MP3 メタデータ」を保存するために Json を使用しています。私が直面している問題は、オブジェクトとtraingfを抽出して値を比較できるかどうかを確認し、両方のオブジェクトが同じ値を持っている場合は印刷を繰り返さないことです。アーティストに2回ではなく1回だけ繰り返してもらいたい場合に備えて

  • .

    これは JSON ファイルの例です。

    [
    {   
        "Artist": "",
        "Album": "",
        "Year":"",
        "Genre": "", 
        "Song": "",
        "Location": "",
        "Track": "",
        "Img": "",
        "Composer":""
    },
        {   
        "Artist": "The Rolling Stones",
        "Album": "Hot Rocks (1964-1971)",
        "Year":"2002",
        "Genre": "Rock", 
        "Song": "Heart of Stone",
        "Location": "scr/music/TheRollingStones/HeartofStone.mp3",
        "Track": "2",
        "Img": "scr/music/TheRollingStones/img/HotRocks.jpg",
        "Record":"Sony Music"
    },
        {   
        "Artist": "The Rolling Stones",
        "Album": "Hot Rocks (1964-1971)",
        "Year":"2002",
        "Genre": "Rock", 
        "Song": "Sympathy For The Devil",
        "Location": "scr/music/TheRollingStones/SympathyForTheDevil.mp3",
        "Track": "15",
        "Img": "scr/music/TheRollingStones/img/HotRocks.jpg",
        "Record":"Sony Music"
    },
    
            {   
        "Artist": "Led Zeppelin",
        "Album": "The Complete Led Zeppelin",
        "Year":"2007",
        "Genre": "Rock", 
        "Song": "Good Times Bad Times",
        "Location": "scr/music/LedZeppelin/GoodTimesBadTimes.mp3",
        "Track": "1",
        "Img": "scr/music/LedZeppelin/img/The Complete Led Zeppelin.jpg",
        "Record":"Atlantic Records"
    }
    
    ]
    

    Javascript ドキュメント

        $.getJSON('scr/json/musicdata.json', function(data){
            var output = '<ol>';
                 data.sort(function(a, b){
                 return [a.Artist] < [b.Artist] ?  0 : 1;
             });//End of Sort by Artist 
    
             $.each(data, function(key,val) {
    
             if(val.Artist != ""){
    
             if(PreArtis != val.Artist){
    
            output += '<li><a class="songname" href="#" data-src="'+ val.Location +'">' + val.Artist + '</a></li>';
                var PreSong = val.Artist ;
             }//End of PreSong != Song
            }//End of val.Artist     
            });//End of Each 
             output += '</ol>';
            $("#wrapper").append(output);
            });//End of getJSON 
    

    HTML

    事前にご協力いただきありがとうございます

  • 4

    1 に答える 1