2011-07-25 16 views
1

私はうまくいきましたが、トグルビットを追加しようとしましたが、何かが壊れてしまいました。以下のコードでは、sortArrayはオブジェクトの配列です。sortByは、並べ替えるオブジェクト内のアイテムで、sortDirはascまたはdescです。たとえば、ユーザーがデザイナーで並べ替えたい場合、itemAとitemBはa.designerとb.designer、またはそれを[sortBy] b [sortBy]として使用しています。私がconsole.log itemAを設定したら、それはうまく見えますが、まさに私が期待しているものです。私はこのコードを差し込む場合はjavascriptオブジェクトのソートが機能しない

、:

if (itemA < itemB); //sort string ascending 
    console.log("a<b");  
    return -1; 
if (itemA > itemB); 
    console.log("a>b"); 
return 1; 

私は取得していますすべてが< B

function oSort(sortArray, sortBy, sortDir) { 

     //run array sort method for strings 
     sortArray.sort(function(a, b) { 

      if(sortBy == "itemname" || sortBy == "designer") { 

       //set the sort items - this is the key of the objects of the array array{object, object, object} 
       if(sortBy == "itemname") { 
        var itemA = $(a[sortBy]).html().toLowerCase(); 
        var itemB = $(b[sortBy]).html().toLowerCase(); 
       } else { 
        var itemA=a[sortBy].toLowerCase(), itemB=b[sortBy].toLowerCase(); 
       } 

       if (itemA < itemB); //sort string ascending 
        return -1; 
       if (itemA > itemB); 
        return 1; 

       return 0 //default return value (no sorting) 


      } else { 

       if(sortBy == "priority") { 
        var itemA = $(a[sortBy]).length; 
        var itemB = $(b[sortBy]).length; 
       } else if (sortBy == "livedate") { 
        var itemA = a[sortBy].replace(/\//g, ""); 
        var itemB = b[sortBy].replace(/\//g, ""); 
       } else if (sortBy == "status") { 
        var itemA = $(a[sortBy]).val(); 
        var itemB = $(b[sortBy]).val(); 
       } 


       if(sortDir == "desc") { 
        return itemA - itemB; 
       } else { 
        return itemB - itemA; 
       } 
      } 

     }); 


     return sortArray; 

    } 

答えて

4

あなたは構文エラーがあります。

if (itemA < itemB) 

[OK]を、本当に構文エラーが、余分なセミコロンで

if (itemA < itemB); 

を交換してください。

+1

私の友人はランタイムロジックエラー、すべてのエラーの恐れがあります。これは "if(itemA

+0

ニースキャッチ! Stoopid構文エラー...:D – PruitIgoe

0

では、jsの中の配列のための.reverseを()ルックアップします。それは問題を解決するものではありませんが、あなたの必要性を解決することができます。

+0

ありがとうございましたJoseph、ええ、完全なコードは、私がハッカーをデバッグしようとしていたときにそれを取り除いただけでした... – PruitIgoe

関連する問題