为了账号安全,请及时绑定邮箱和手机立即绑定

空时跳过比较数组

空时跳过比较数组

蝴蝶不菲 2021-04-14 17:18:17
我有一个案例,必须将一些数组比较在一起,并找到所有数组之间的公共元素。只要加载了所有数组,以下代码就可以正常工作。但是,如果该数组中的一个(甚至5个数组)仍然为空并且没有加载怎么办?如果只有两个数组,我可以做类似的事情  if ((arr1.length > 0) && (arr2.length === 0)) {     newArr =arr1;  }但是以这种方式检查所有6个数组将是一个很大的条件片段!如何解决此问题,使代码仅在加载数组时才与数组进行比较,而在数组为空时跳过数组?let newArr = [];function common(arr1, arr2, arr3, arr4,arr5,arr6) {  newArr = arr1.filter(function(e) {    return arr2.indexOf(e) > -1 &&            arr3.indexOf(e) > -1 &&            arr4.indexOf(e) > -1 &&            arr4.indexOf(e) > -1 &&            arr5.indexOf(e) > -1 &&            arr6.indexOf(e) > -1;  });}common( [1, 2, 6, 5, 9,8],   [1, 2, 3, 6, 5, 9,8],         [6, 5, 4, 5,8],         [8, 2, 1, 6, 4],         [8, 2, 1, 6, 4],         //[8]        []        );$('div').text(newArr);<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><p> Returns Nothing Because 6th Array is Empty</p>  <div></div>
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 169 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信