【问题标题】:What are these operators for "/^ $/" and how does it work in this case?“/^ $/”的这些运算符是什么?在这种情况下它是如何工作的?
【发布时间】:2018-06-25 15:32:51
【问题描述】:

最近我在 JS 中对代码战进行挑战,当您提交代码时,它们会向您展示其他人是如何完成挑战的,这就是解决方案之一。当我浏览它时,我注意到了这些标记,我想了解它们并学习如何使用它们。好像有个“?”中间也是如此,这导致人们相信它与三元运算符有关。

let data = [":~)", ";->", ";~(", ":~D", ";o>", ":)", ";oD"];

function countSmileys(data) {
    return data.filter(x => /^[:;][-~]?[)D]$/.test(x)).length;   
}

我可能对它可能做什么有一些模糊的想法,因为我知道输出应该是什么。
感谢您的宝贵时间!

【问题讨论】:

  • 与三元运算符无关,这是一个正则表达式,该函数试图做的是过滤数组上的元素
  • 在此上下文中这些不是运算符,它们是正则表达式的一部分。

标签: javascript operators ternary-operator


【解决方案1】:

与三元运算符无关,这是一个正则表达式,该函数试图做的是过滤数组上的元素。

function countSmileys(data) {
    //filter out the elements that don't match the regular expression you want to test
    return data.filter(x => /^[:;][-~]?[)D]$/.test(x)).length;   
}

你可以阅读更多关于正则表达式here:

test 函数here

【讨论】:

    【解决方案2】:

    他们使用的是regular expresions

    【讨论】:

      猜你喜欢
      • 2021-12-27
      • 2013-04-23
      • 2020-08-20
      • 1970-01-01
      • 1970-01-01
      • 2021-09-12
      • 1970-01-01
      • 2016-12-05
      • 2018-09-15
      相关资源
      最近更新 更多