一个数组的元素是否被另一个数组全包含 三行代码搞定!

Posted 李金宵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个数组的元素是否被另一个数组全包含 三行代码搞定!相关的知识,希望对你有一定的参考价值。

废话不说,先上代码再解释:

  数组1.every(item =>{

     return 数组2.indexOf(item.id) >= 0

  })
可以声明一个变量来判断是否包含。例:
  
  let status = 数组1.every(item =>{

     return 数组2.indexOf(item.id) >= 0

  })
 
如果status 返回 true ; 则=>【数组1】里面的元素在【数组2】里面都有
如果status 返回 false ; 则=>【数组1】里面的元素在【数组2】不完全有,甚至一个都没有
 
解析:
  数组的every,是表示数组中每一项都符合判断条件,会返回true ; 只要有一个不符合的,就会返回false;
  案例的意思就是:【数组1】里面所有的元素都满足 【数组2.indexOf(item.id) >= 0】的条件;而【数组2.indexOf(item.id) >= 0】的条件表示 【item.id】在【数组2】中都能找到对应的index值(下标索引值);既然【数组1】中所有【元素】在【数组2】中都能找到【下标索引值】,证明:
 
    【数组1】中所有元素,在【数组2】中都能找到 =>【数组2】包含【数组1】
 
原理等同于:
 
  for(let n=0;n<数组1.length ; n++){
    if( 数组2.indexOf(数组1[n]) ===-1 ){
      return false
    }
  }
遍历【数组1】,一旦【数组1】的数据(元素)在【数组2】中找不到,就返回false;
  => 【数组2】不完全包含【数组1】
 
 

以上是关于一个数组的元素是否被另一个数组全包含 三行代码搞定!的主要内容,如果未能解决你的问题,请参考以下文章

js中判断数组中是否包含某元素的方法

js判断字符串与字符串相互包含,以及数组是否包含某个元素;

诚之和:Numpy怎么检查数组全为零的几种方法

js 中判断数组中是不是包含某个元素

在Java中,如何检测一个数组中是不是包含某一个数据?

js怎么判断某个数组里面是不是包含这个元素