携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第14天,点击查看活动详情
前言
在工作学习中,经常会遇到维护两个数组数据这样的情况。
最近在工作中总遇到这样的情况,我就优化总结了一下发现下面这种方法就挺好,简单简洁,逻辑清晰。
最后,总结分享给大家,希望可以帮助到大家,大家如果有更好的方法欢迎在评论区交流,谢谢!
删除两个数组中相同的元素
var newArr=arr1.filter(function(item) { return arr2.indexOf(item) == -1 });
filter
js数组的filter
方法,可以创建一个新数组。
新数组的值是:通过检查指定数组中符合条件的所有元素。
array.filter(function(currentValue,index,arr), thisValue)
filter
方法会接收一个函数,和一个可选的,"this" ;
接收的这个函数有三个参数currentValue
, index
, arr
。
其中currentValue
是必传的参数, index
和arr
是可选的参数;
分别为当前元素的值 、当前元素的索引值 、当前元素属于的数组对象。
注意: filter() 不会对空数组进行检测,filter() 不会改变原始数组。
indexOf
js数组的indexOf
方法,可返回数组中某个指定的元素位置。
indexOf
方法会将数组从头(或 start 处)到尾地检索,看它是否含有对应的元素。如果找到一个 item,则返回 item 的第一次出现的位置。
如果在数组中没找到指定元素则返回 -1。
array.indexOf(item,start)
indexOf
方法有两个参数item
和start
;
item
是必传参数,是要查找的元素。 start
是可选的整数参数,表示数组开始检索的位置。
结语
本文到此结束
如果大家还有什么其他想法,欢迎在评论区交流!