2012-03-14 22 views
1

JavaScriptで作成した4次元配列があります。 1つの列には文字列値が含まれ、他の3つの列には浮動小数点値が含まれます。 JSONレスポンスの最初の3つの列を塗りつぶし、4番目の列にはcol2とcol3の値の大きさを示します。 col4の値に基づいて配列全体をソートする必要があります。次のコードは、配列の作成方法を示しています。誰かcol4に基づいてこの配列を並べ替える方法を教えてくださいできますか?JavaScript内の1列に基づいて多次元配列をソートする方法

 var labels = responseJSON.labels; 
    var knowledge = responseJSON.knowledge; 
    var interest = responseJSON.interest; 

    var label_know_int_array = new Array(3); 
    //array item 0 contains all the labels 
    label_know_int_array[0] = new Array(200); 
    //array item 1 contains knowledge values 
    label_know_int_array[1] = new Array(200); 
    //array item 2 contains all the interest values 
    label_know_int_array[2] = new Array(200); 
    //array item 3 contains the magnitude of knowledge and interest 
    label_know_int_array[3] = new Array(200); 

    for(var i=0;i<labels.length;i++) 
     { 
       label_know_int_array[0][i] = labels[i]; 
       var knowVal = knowledge[i]; 
       var intVal = interest[i]; 
       label_know_int_array[1][i] = knowVal; 
       label_know_int_array[2][i] = intVal ; 

       var squareSum = (knowVal*knowVal) + (intVal*intVal); 
       var distance = Math.sqrt(squareSum); 
       label_know_int_array[3][i] = distance ; 


     } 
+1

これは2次元ですあなたは次元を並べ替える必要があります – kirilloid

+0

@kirilloid - これは4次元の配列ではありませんか?私はあなたのコメントをよく理解していません。次元を並べ替える必要があるとはどういう意味ですか? – Paba

+0

これは2D配列です: 'a [] []'。 4Dは 'a [] [] [] []'のようになります。 'label_know_int_array [3]'を 'label_know_int_array [0]'に切り替えて、 'distance'でソートする必要があります。 – Teemu

答えて

1

あなたはネイティブArray.sort()方法

のArray.sortメソッドを使用することができますが、ここで

をソートするカスタムのためのコールバックを受け入れることは、あなたが実装することができ、このコールバックを使用したサンプル・コード

var arr = [ 
    { 
    id : 5, 
    name : "john" 
    }, 
    { 
    id : 2, 
    name : "Sam" 
    }, 
    { 
    id : 6, 
    name : "adams" 
    } 
]; 

// custom sort 
arr.sort(function (a, b) { 
    if (a.id > b.id) { 
     return 1; //return any +ve values 
    } else if (a.id < b.id) { 
     return -1; // return any -ve values 
    } else { 
     return 0; // return zero for equal values 
    } 
}); 

であるあなたカスタム並べ替え機能

+0

このリンクを確認するhttp://solutoire.com/2007/05/02/sorting-javascript-arrays/ – Nemoy

関連する問題