javascript中字符串的重新排序
我的datatable启动时执行以下函数。它获取“关键字”列中的所有关键字,对它们进行计数,然后列出它们 我想知道的是,在将最终的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++
计数
变量传递给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();