Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中字符串的重新排序_Javascript_Jquery_Arrays_Datatables - Fatal编程技术网

javascript中字符串的重新排序

javascript中字符串的重新排序,javascript,jquery,arrays,datatables,Javascript,Jquery,Arrays,Datatables,我的datatable启动时执行以下函数。它获取“关键字”列中的所有关键字,对它们进行计数,然后列出它们 我想知道的是,在将最终的计数变量传递给html之前,如何按值对其排序 function getTags(table) { var data = $('#mytable').DataTable().rows({search: 'applied'}).data(); var keys=[]; // Get keywords for(var i=0;i<data.length;i++

我的datatable启动时执行以下函数。它获取“关键字”列中的所有关键字,对它们进行计数,然后列出它们

我想知道的是,在将最终的
计数
变量传递给html之前,如何按值对其排序

function getTags(table) {

var data = $('#mytable').DataTable().rows({search: 'applied'}).data();

var keys=[]; // Get keywords
  for(var i=0;i<data.length;i++){
  keys.push(data[i].keyword)
}   

var keyStr = keys.toString().split(","); // Split keywords

var keyStr = keyStr.filter(function(n){ return n != "" });  // Filter empty      

var counts = {}; // Count unique
for (var i = 0; i < keyStr.length; i++) {
  counts[keyStr[i]] = 1 + (counts[keyStr[i]] || 0);
}

$.each(counts, function (key,value) { // Print list   
  $("#tags ul").append("<li>" + value + key + "</li>");
})
函数getTags(表){
var data=$('#mytable').DataTable().rows({search:'applied'}.data();
var keys=[];//获取关键字

对于(var i=0;i您应该能够只使用
Array.prototype.sort()


在这种情况下有一个错误:
TypeError:counts.sort不是一个函数。(在“counts.sort()”中,“counts.sort”是未定义的)
。我认为这与不是数组的计数有关,但我不确定?我在
$之前添加了它。每个
的计数是什么?如果将声明更改为var counts=[];如果我这样做,那么它将完全不返回任何内容。它看起来像是一个具有多个属性的单个对象。
counts
可能应该在计数之前对数组进行排序:
var keyStr=keyStr.filter(函数(n){return n!='').sort();
这改进了整体排序,但事实是,只有
计数
产生我想按其排序的
值。这有意义吗?只有在
计数
之后,我才知道我有多少次关键字X。可能重复
counts.sort();