1. 程序介绍
本文将介绍一款用于数组元素频率范围查询的 Javascript 程序。该程序通过输入一个数组和查询范围,输出该范围内每个元素出现的次数。
2. 实现思路
该程序的实现思路为:遍历数组,对于数组的每个元素,统计其出现次数,并将其存储在一个对象中。
遍历完成后,再遍历对象,查询符合查询范围的元素,并输出其出现次数。
3. 代码实现
3.1. 统计每个元素出现次数
使用一个对象来存储数组中每个元素的出现次数,可以用如下代码实现:
function countOccurrence(arr) {
var occurrence = {};
for (var i = 0; i < arr.length; i++) {
if (occurrence[arr[i]]) {
occurrence[arr[i]]++;
} else {
occurrence[arr[i]] = 1;
}
}
return occurrence;
}
该函数的参数是一个数组,返回值是一个对象,其中对象的键是数组元素,值是该元素出现的次数。
3.2. 查询匹配元素
使用上述函数实现后,我们已经得到了数组中每个元素的出现次数,接下来是查询匹配元素,并输出其出现次数。
我们可以使用一个类似于 SQL 语句中的 WHERE 子句来查询符合条件的元素,实现代码如下:
function filterOccurrence(occurrence, min, max) {
var occurrenceInRange = {};
for (var key in occurrence) {
if (occurrence.hasOwnProperty(key) && occurrence[key] >= min && occurrence[key] <= max) {
occurrenceInRange[key] = occurrence[key];
}
}
return occurrenceInRange;
}
该函数的参数是一个对象和两个数字,返回值是一个对象,其中对象的键是符合条件的元素,值是该元素出现的次数。
4. 使用示例
接下来,我们将演示如何使用该程序。
假设我们有如下数组:
var arr = [1, 2, 3, 1, 2, 3, 4, 5, 1, 2, 3, 1];
我们想要查询元素出现次数在 2 到 3 次之间的元素,可以使用如下代码:
var occurrence = countOccurrence(arr);
var occurrenceInRange = filterOccurrence(occurrence, 2, 3);
console.log(occurrenceInRange); // 输出 {2: 3, 3: 3}
该代码首先调用了 countOccurrence 函数,得到了每个元素的出现次数;然后调用了 filterOccurrence 函数,得到了符合条件的元素。
5. 总结
本文介绍了一款用于数组元素频率范围查询的 Javascript 程序,实现思路是遍历数组并统计每个元素的出现次数,查询匹配元素并输出其出现次数。
该程序可以通过代码简单实现,提高了数组元素频率范围查询的效率。