描述

一个数据是否被另一个数组包含,在写需求时遇到这个点,如果被包含了,需要改变上级状态,否者上级状态清空。

分析

  1. let a = [1,2,3,4,5,6];
  2. let b = [1,2,3,4,5,6,7];
  3. /**
  4. * a是否被b包含
  5. * 分析
  6. * 1.b的长度小于a或者a的长度大于b,那么a肯定不会被b包含
  7. * 2.获取a的长度a_length
  8. * 3.获取a与b的并集c并去重处理,获取c的长度c_length,如果c_length == a_length ,则a被b包含
  9. * @param {Array} a //数组a
  10. * @param {Array} b //数组b
  11. */
  12. function isPart (a, b) {
  13. if(b.length < a.length || a.length > b.length) {
  14. return false;
  15. } else {
  16. let c = b.filter(item => a.includes(item));
  17. if(a.length == c.length) {
  18. console.log('true');
  19. } else {
  20. console.log('false');
  21. }
  22. }
  23. }
  24. isPart(a,b);