再开发过程中,再没有接口提供的情况下来实现浏览记录或者搜索记录等场景
我们可以利用本地缓存实现,废话不多说,直接上代码:
多维数组
/**
* @param {Array} arr 数组
* @param {Object} data 对象
*/
function footmarkList(arr, data) {
if(arr.length < 10) { // 当数组长度小于10时,直接插入数据
if(!isDuplicate(arr, data)) { // 如果数据不重复,则插入
arr.push(data)
}
} else { // 当数组长度大于等于10时,删除最早数据,再插入新数据
if(!isDuplicate(arr, data)) { // 如果数据不重复,则插入
arr.shift(); // 删除最早数据
arr.push(data) // 插入新数据
}
}
return arr
}
function isDuplicate(arr, data) {
for (let i = 0; i < arr.length; i++) {
if (JSON.stringify(arr[i]) === JSON.stringify(data)) {
return true;
}
}
return false;
}
一维数组
function arr(arr, data) {
if(arr.length < 10) { // 当数组长度小于10时,直接插入数据
if(!arr.includes(data)) { // 如果数据不重复,则插入
arr.push(data)
}
} else { // 当数组长度大于等于10时,删除最早数据,再插入新数据
if(!arr.includes(data)) { // 如果数据不重复,则插入
arr.shift(); // 删除最早数据
arr.push(data) // 插入新数据
}
}
return arr
}
调用方法两种都是一样的
let newsList = uni.getStorageSync('footmarkList') || [];
let footmarkList = this.$mUtils.footmarkList(newsList, this.data)
uni.setStorageSync('footmarkList', footmarkList)
以上就是所有代码,如果有疑问可以扫码关注!感谢支持