【问题标题】:Add two conditions in filter Javascript在过滤器Javascript中添加两个条件
【发布时间】:2018-04-15 11:24:16
【问题描述】:

我试图在过滤器中添加两个条件,但只有一个有效。第一个条件检查单词之间是否有空格,第二个条件检查 words.length 是否大于给定的最小长度。 如果字符串是"hello world",那么当我拆分它时我需要得到["hello", "world"]。而不是我得到["hello", "", "", "", "world"]

let wordsLength = sumOfSentence.split(" ");    
let longWords = wordsLength.filter(function(sumOfWord){
    //check if the words length is bigger than the minimum length
    //check if it has extra empty spaces
    if(sumOfWord !== "") return sumOfWord.length >= minLength
});

【问题讨论】:

  • 在条件之间使用&&||,具体取决于您要求两者都为真还是两者都为真。
  • @Barmar 我两者都需要,但是当我添加 && 第一个条件不起作用
  • “我试图在过滤器中添加两个条件”什么过滤器?我对您要实现的目标/需要帮助感到困惑...也许提供一个更完整的示例?
  • 我认为不需要同时测试这两种情况。如果sumOfWord 是一个空字符串,它的长度将永远大于minLength(除非minLength0)。
  • 把它放在问题中,而不是评论。

标签: javascript filter conditional-statements


【解决方案1】:

如果 sumOfWord 不为空并且其长度大于 minLength,您似乎想要过滤。 @Barmar 建议您使用以下代码。

let wordsLength = sumOfSentence.split(" ");    
let longWords = wordsLength.filter(function(sumOfWord){
    return ((sumOfWord.trim() != '') && sumOfWord.length >= minLength)
});

【讨论】:

    猜你喜欢
    • 2015-10-04
    • 1970-01-01
    • 1970-01-01
    • 2017-12-01
    • 2016-07-31
    • 2022-01-13
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多