在我们做项目中非常常用到的方法 (这里用的是map方法)
//PDA扫描数组去重
var newcodeList = _this.codeList
console.log(newcodeList)
var map = new Map();
var array = new Array; // 用于存放返回的结果
for (var i = 0; i < newcodeList.length; i++) {
if (map.has(newcodeList[i])) {
map.set(newcodeList[i], true); // 如果存在该key值
console.log(newcodeList[i])
uni.showToast({
title: '此条码已重复,请重新扫码',
icon: 'none',
duration: 2000
})
return false
} else {
map.set(newcodeList[i], false); // 如果不存在该key值,则将其添加到array中
array.push(newcodeList[i]);
}
}
_this.codeList = array //去重后的数据赋值给上面初始化的数组
这里外加一个小技巧 ul li中最后一个子元素不加下划线
.moreList:last-child .moreRow { //最后一个子元素不加下划线
border-bottom: none;
}
uniapp生命周期函数
页面级周期函数
onLoad 监听页面加载,其参数为上个页面传递的数据,参数类型为object(用于页面传参),参考示例
onShow 监听页面显示
onReady 监听页面初次渲染完成
onHide 监听页面隐藏
onUnload 监听页面卸载
onPullDownRefresh 监听用户下拉动作
onReachBottom 页面上拉触底事件的处理函数
onShareAppMessage 用户点击右上角分享 微信小程序
onPageScroll 监听页面滚动
onTabItemTap 当前是 tab 页时,点击 tab 时触发。
<script>
export default {
data: {
title: 'Hello'
},
onLoad:function(options){
console.log("onLoad");
},
onHide:function(){
console.log("onHide");
},
onShow:function(){
console.log("onShow");
}
}
</script>
更多数组去重方法见文章