这些运算符是" / ^ $ /"在这种情况下它是如何工作的?

时间:2018-01-16 20:39:57

标签: javascript operators ternary-operator

最近我在JS中对代码战做了挑战,当你提交代码时,他们会告诉你其他人如何应对挑战,这是解决方案之一。当我浏览它时,我注意到了这些标记,我想了解它们并学习如何使用它们。似乎有一个"?"在中间也会导致相信它与三元运算符有关。

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

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

我可能对它的作用有一些模糊的想法,因为我知道输出应该是什么 谢谢你的时间!

2 个答案:

答案 0 :(得分: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函数enter image description here

答案 1 :(得分:0)

他们使用的是regular expresions