gpt4 book ai didi

javascript - 根据出现频率对数据数组进行排序

转载 作者:行者123 更新时间:2023-11-30 18:01:59 25 4
gpt4 key购买 nike

我有一个值数组,我想根据出现频率对其进行排序。现在我设法计算了发生的次数,但我无法找到如何对它们进行排序……有什么问题吗?

    <script>
$(document).ready(function() {// graphs and prefixes defined here
var list = new Array();
$.getJSON('data.json', function(data) {
$.each(data.results.bindings, function() {
$.each(this, function(k, v) {
if(!($.trim(v.value) in list)) {
list[$.trim(v.value)] = 0;
}
list[$.trim(v.value)] = list[$.trim(v.value)] + 1;
});
});
list.sort(function(a, b) {
return a.value - b.value;
});
var c = 0;
for (var i in list) {
var html = '<li data-value="'+list[i]+'">'+ (c++) +' '+i+' ( '+list[i]+' )';
$("#list").append(html);
}
});
});
</script>

最佳答案

function orderByOccurrence(arr) {
var counts = {};
arr.forEach(function(value){
if(!counts[value]) {
counts[value] = 0;
}
counts[value]++;
});

return Object.keys(counts).sort(function(curKey,nextKey) {
return counts[curKey] < counts[nextKey];
});
}



> orderByOccurrence(['a','c','a','c','a','c','c','c','c', 'pllee'])
> ["c", "a", "pllee"]

这将适用于其他基元,包括混合基元,但它们都会被转换为字符串。

> orderByOccurrence([1,1,1,1,1, 0, -5, -5, false, false, false])
> ["1", "false", "-5", "0"]

关于javascript - 根据出现频率对数据数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16742726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com