无法使用具有多个条件语句的过滤器从数组中删除元音

sol*_*oap -1 javascript arrays filter palindrome splice

wordArr = ['a', 'g', 'e', 'f'];
wordArr = wordArr.filter(function(l){
            return l !== 'a' || l!== 'e'|| l!== 'i'|| l!== 'o' || l!== 'u'; 
       });
Run Code Online (Sandbox Code Playgroud)

我的结果:我的 wordArr 没有改变

期望输出:['g', f'];

如果我只检查一个元音,它只适用于一种条件。我如何使这项工作适用于多种条件?

提前谢谢你。

Cer*_*nce 6

你的条件不正确。只考虑以下几点:

return l !== 'a' || l!== 'e'
Run Code Online (Sandbox Code Playgroud)

如果字符串(内部l)是foo,则结果是true因为它不是'a'

如果字符串是'a',则结果是true因为它不是'e'

return l !== 'a' || l!== 'e'
return false || true
return true
Run Code Online (Sandbox Code Playgroud)

如果字符串是'e',则结果是true因为它不是'a'

return l !== 'a' || l!== 'e'
return true || false
return true
Run Code Online (Sandbox Code Playgroud)

你需要&&s 代替。

return l !== 'a' && l!== 'e'&& l!== 'i'&& l!== 'o' && l!== 'u'; 
Run Code Online (Sandbox Code Playgroud)

或者,甚至更好:

return l !== 'a' || l!== 'e'
Run Code Online (Sandbox Code Playgroud)