从表列和排序数组中检索唯一数据

Retrieve unique data from table column and sorting array

本文关键字:检索 唯一 数据 数组 排序      更新时间:2023-09-26

有一个表,我想要表列数据的唯一值,比如表行可能有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);
});
function sortNumber(a,b)
{
      return a - b;
}
var n = ["10", "5", "40", "25", "100", "1"];
document.write(n.sort(sortNumber));

将创建以下输出:

1,5,10,25,40100

您也可以将其封装在一个匿名函数中

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

这会更快,但如果你需要反复使用,我会坚持使用这个功能。

您可以使用Array.sort()方法对数组项进行排序:

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

作为参数传递的函数用于比较数组中的两个项。它包含两个元素。

排序是通过返回一个负数/正数/零来完成的。为了比较数字,你可以简单地从a减去b。

DEMO