vue历史记录显示搜索频率最高的前十条
设一个空对象,将数组的每一项当作一个对象的key值,遍历整个数组找到数组中出现次数最多的十条数据,
最后页面显示搜索频率最高的前十条
需要后端来记录用户每次搜索的内容以及次数,来方便你来获取
有可能业务是这样的,点击输入框的时候调接口,但是后端只返回用户输入过哪些内容的接口,可能数据有几百条几千条等,你是想听过遍历数据完成计数,取前十,很简单,你把接口返回的数据里面的唯一值,比如 id 作为一个空对象的键名。然后如下
```javascript
let obj = {}
for (let a = 0; a < data.length; a++) {
if (obj[data[i].id]) {
obj[data[i].id] = obj[data[i].id] + 1;
} else {
obj[data[i].id] = 1;
}
};
// 输出 obj
// 然后对 obj 里面的键值对 进行排序,存入一个数组里面
// 把这个数组展示出来
```
还有一点就是,搜索词的前后去除空格。
遇到什么问题了