有一个表,我想要表列数据的唯一值,就像表行可能有4,2,2,4,5,4那么它应该像这样返回data = [ 2 , 4 , 5 ]
我能够使用jquery实现这一点,如下面的链接
http://jsbin.com/ojeroc/5/edit#source
但是数据应该按升序排列所以我可以在另一个函数中使用这个数组。
$(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);
});
答案 0 :(得分: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 :(得分:1)
您可以使用Array.sort()方法对数组项进行排序:
var sortedItems = $.unique( items ).sort(function(a, b) {
return a - b;
});
作为参数传递的函数用于比较数组中的两个项目。它收到两个元素。
通过返回负数/正数/零数来完成排序。要比较数字,您可以简单地从a。
中减去b<强> DEMO 强>