如何得到两个数组之间的差

简介: 如何得到两个数组之间的差

数组



const initialNumbers = [1, 2, 5, 7, 3]
const initialWithMoreNumbers = [1, 2, 4, 7, 9, 5, 3]


如何去找去他们之间的差异性,我在上一篇讲解了some,every的用法,这你讲解filter 过滤的用法


Array.filter ()



filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素

使用 Array.filter () ,我们可以循环遍历一个数组,并为数组中的每个项创建一些逻辑


let result = initialWithMoreNumbers.filter(number => number)


这句话执行完成后,返回一个的新的的数组,可以在返回的数据做一些事情


let result = initialWithMoreNumbers.filter(number => !initialNumbers.includes(number))


结果


[4, 9]


includes



includes() 方法用于判断字符串是否包含指定的子字符串。如果找到匹配的字符串则返回 true,否则返回 false。

对象数组



如果需要比较数组中对象中的键,只需添加一个名为 array.every ()的新方法,就可以再次循环并搜索所需的内容


const people = [{name: 'cesar', age: 23}]
const morePeople = [{name: 'cesar', age: 23}, {name: 'kevin', age: 26}, {name: 'pedro', age: 25}]
let result2 = morePeople.filter(item => {
        return people.every(todo => {
           return todo.name.includes(item.name);
        })
          })
console.log(result2) // [{age: 23, name: "cesar"}]


Every ()根据条件返回 true 或 false,如果每一项都符合条件,更多关于使用 some、 every和 Object.values 检查对象内的值

相关文章
|
存储 容器
List,linkeedlist集合介绍,特点,二者区别,增长因子,去重复
List,linkeedlist集合介绍,特点,二者区别,增长因子,去重复
|
7月前
|
设计模式 算法 Java
【数据结构和算法】无限集中的最小数字
这是力扣的2336题,难度为中等,解题方案有很多种,本文讲解我认为最奇妙的一种。使用TreeSet和min变量来维护一个无限集合,保证集合的连续性。添加元素时,若元素大于等于min,则不添加;若元素小于min,则将其添加到TreeSet中。删除元素时,先判断TreeSet是否为空,若不为空,则从TreeSet中删除元素;若为空,则将min值加1。该算法能够高效地添加和删除元素,并保持集合的连续性。该算法还可以用优先队列(小根堆)+ hash表解题,比较优秀。
55 1
|
算法 测试技术 C++
C++算法:让数组不相等的最小总代价
C++算法:让数组不相等的最小总代价
【集合论】序关系 ( 偏序集元素之间的关系 | 可比 | 严格小于 | 覆盖 | 哈斯图 )
【集合论】序关系 ( 偏序集元素之间的关系 | 可比 | 严格小于 | 覆盖 | 哈斯图 )
444 0
【集合论】序关系 ( 偏序集元素之间的关系 | 可比 | 严格小于 | 覆盖 | 哈斯图 )
|
存储 算法 前端开发
前端算法-除自身外数组的乘积
前端算法-除自身外数组的乘积
|
存储
集合的操作(交并差)
集合的操作(交并差)
82 0
|
人工智能 算法
靠这个信息差,我省了至少上千块!
靠这个信息差,我省了至少上千块!
201 0
靠这个信息差,我省了至少上千块!
解决计算 0:00 到 12:00之间任意一个时间时针和分针的夹角。
解决计算 0:00 到 12:00之间任意一个时间时针和分针的夹角。
153 0