如何简化JavaScript中filter里多值相等或判断的写法?
解决方案
当然有更简洁的写法,直接用数组的includes()方法就能替代一堆重复的===判断,不管level数组里有多少元素都能搞定:
修改后的arrayWithCorrectLevels代码:
var arrayWithCorrectLevels = arrayWithCorrectGroup.filter(x => level.includes(x[1]));
原理很简单:includes()方法会直接检查level数组中是否包含x[1]这个值,返回布尔值,完全等价于你之前写的多个x[1] === level[n]用||连接的逻辑,而且代码更简洁易维护,后续level数组增减元素也不用改判断条件。
内容的提问来源于stack exchange,提问作者Jelmer405
相关产品推荐
相关产品推荐

