数组中存的普通的字符串,数字的话,使用Set去重
var array = [12,13,12,13,4,23,34,23];
对数组array去重,需要new 一个Set对象
var set = new Set(array);
var _array = Array.from(set);
这个_array就是去重过后的数组
对数组中保存的对象的去重
var cityArray= [];定义一一个空数组
往里面push添加对象需要保证数组中的对象不能重复,
需要提前定义一个变量用来记录是否存在该对象,如果存在的话直接break,不存在的话直接push
栗子:
var isExit = false;//此处可根绝自己喜好定义 0 或者1均可
遍历数组,判断数组中的对象的键值,如果有一个键值存在都break
liClick(cityObj){
for(let index in cityArray){
let item = cityArray[index];
if(item.name == cityObj.name||item.address==cityObj.address){
isExit = true;//如果相等的话,说明数组中已经存在该对象
break;
}
}
//在此处判断如果不存在的话,就push该对象到数组中
if(!isExit){
cityArray.push{
name:cityObj.name,
address:cityObj.address,
}
}
localStorage.setItem("cityArray",JSON.stringify(cityArray));
}
如果想要在页面出来的时候,就重新给数组赋值的话,需要根据键获取是否有该键对应的值,如果有的话,取出来重新赋值,如果没有的话,就数组置空
在created中判断
var value = localstorage.getItem("cityArrray");
if(value!=null && value!=undefined){
cityArray = JSON.parse(localstorage.getItem("cityArray"));
}else{
cityArray = [];
}
网友评论