我有一个案例,必须将一些数组比较在一起,并找到所有数组之间的公共元素。只要加载了所有数组,以下代码就可以正常工作。但是,如果该数组中的一个(甚至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>
添加回答
举报
0/150
提交
取消