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

2021-04-24 13:29

阅读:535

标签:index   不完全   turn   下标   als   lse   条件   索引   nbsp   

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

  数组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
    if( 数组2.indexOf(数组1[n]) ===-1 ){
      return false
    }
  }
遍历【数组1】,一旦【数组1】的数据(元素)在【数组2】中找不到,就返回false;
  => 【数组2】不完全包含【数组1】
 
 

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

标签:index   不完全   turn   下标   als   lse   条件   索引   nbsp   

原文地址:https://www.cnblogs.com/lijinxiao/p/13262417.html


评论


亲,登录后才可以留言!