2012-03-05 18 views
3

テーブルが1つあり、テーブルの行の値が4、2、2、4、5、4のように、テーブルの列データの一意の値が必要です。このdata = [ 2 , 4 , 5 ]テーブルの列と並べ替えの配列から一意のデータを取得

ように私は

http://jsbin.com/ojeroc/5/edit#source

リンク

以下のように、この使用してjQueryのを達成することができています。しかし、私は別の関数で、この配列を使用することができますので、データを昇順に来る必要があります。

$(document).ready(function(){ 
    console.log("document is ready");   
    var items=[], options=[]; 
    console.log(items); 
    console.log(options); 
    //Iterate all td's in second column 
    $('#dataTable tr td').each(function(){ 
    //console.log("Inside tr data");                           
     //add item to array 
     items.push($(this).text());  
     // console.log($(this).text()); 
    }); 
    //restrict array to unique items 
    var items = $.unique(items); 
    alert(items); 
}); 

答えて

1

あなたは、配列の項目をソートするArray.sort()メソッドを使用することができます:パラメータとして渡さ

var sortedItems = $.unique(items).sort(function(a, b) { 
    return a - b; 
}); 

関数は、配列内の2つの項目を比較するために使用されます。 2つの要素を受け取ります。

ソートは、負の数/正の数/ゼロの数を返すことによって行われます。数を比較するには、aからbを単に引くことができます。速かった

DEMO

+1

ありがとう、私はソートされた配列の最小値と最大値を取得したい、それを行うことができますか? – Wazdesign

+0

@Wazdesignあなたが一秒間考えるなら、それは簡単だとわかるでしょう。 – kapa

+2

ソート後、 'sortedItems [0]'はあなたにminと 'sortedItems [sortedItems.length-1]'を与えます。 –

2
function sortNumber(a,b) 
{ 
     return a - b; 
} 

var n = ["10", "5", "40", "25", "100", "1"]; 
document.write(n.sort(sortNumber)); 

は、この出力作成します。あなたはまた、匿名関数でラップでき

1,5,10,25,40,100

n.sort(function(a,b){return a-b;}) 

どちらが高速でしょうか。それを何度も何度も使用する必要があるなら、私はその機能に固執します。

+1

。 :) – Wazdesign

+1

ホープそれはあなたのために役立った;-) –

関連する問題