uniapp,对象数组问题,两个数组对比删除重复内容

 今天做uniapp多选删除时遇到的问题,删除数组中元素时,数组会动态改变,做一个简单记录分析

方法1:数组较少,采用倒序循环

list1,list2为对象数组

for(let i=list1.length-1;i>0;i--){
    for (let j=list2.length;j>0;j++){
        //需要先判断对象中有没有数据再向下执行
        if(list1[i] && list[j]){
            if(list1[i].id == list2[j]){
                list1.splice(i,1)
            }    
        }
    }
}

 注:使用到数组中的元素时,需要注意执行顺序

方法2:

拓展:数组的所有操作函数

concat()连接两个或更多的数组,并返回结果。
join()把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
pop()删除并返回数组的最后一个元素
push()向数组的末尾添加一个或更多元素,并返回新的长度。
reverse()颠倒数组中元素的顺序。
shift()删除并返回数组的第一个元素
slice()从某个已有的数组返回选定的元素
sort()对数组的元素进行排序
splice()删除元素,并向数组添加新元素。
toSource()返回该对象的源代码。
toString()把数组转换为字符串,并返回结果。
toLocaleString()把数组转换为本地数组,并返回结果。
unshift()向数组的开头添加一个或更多元素,并返回新的长度。
valueOf()返回数组对象的原始值

更详细内容:https://www.w3school.com.cn/jsref/jsref_obj_array.asp

    原文作者:祁连山
    原文地址: https://blog.csdn.net/u014626130/article/details/119830956
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞