0

イメージ名に基づいて Image オブジェクトの配列をソートする単純なバブルソート関数を作成しました。何らかの理由で、必要に応じて関数が配列の要素を交換していません(基本的に新しい割り当ては機能していません)

これが私のコードです:

        listOfFiles = event.dataTransfer.files;
        sortImages(listOfFiles);
        function sortImages(listOfFiles)
        {
            var re = /[0-9]/;
            var temp;
            for( var index=0; index < listOfFiles.length ; index++)
            {
                for ( var index2=0; index2 < listOfFiles.length-1 ; index2++)
                {
                    var one = parseFloat(re.exec(listOfFiles[index2].name ));
                    var two = parseFloat(re.exec(listOfFiles[index2+1].name));
                    console.log(one + " : " + two);
                    if (one > two) 
                    {
                        console.log(listOfFiles[index2+1]);
                        console.log(listOfFiles[index2]);
                        //following three lines don't work
                        temp = listOfFiles[index2+1];
                        listOfFiles[index2+1] = listOfFiles[index2];
                        listOfFiles[index2] = temp;


                        console.log(listOfFiles[index2+1]);
                        console.log(listOfFiles[index2]);
                    }
                }
            }
        }
4

1 に答える 1