数组的去重,数组中存的对象的去重

2020-11-27  本文已影响0人  Amanda妍

数组中存的普通的字符串,数字的话,使用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 = [];

}

上一篇 下一篇

猜你喜欢

热点阅读