Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 这些运算符的作用是什么$/&引用;在这种情况下它是如何工作的?_Javascript_Operators_Ternary Operator - Fatal编程技术网

Javascript 这些运算符的作用是什么$/&引用;在这种情况下它是如何工作的?

Javascript 这些运算符的作用是什么$/&引用;在这种情况下它是如何工作的?,javascript,operators,ternary-operator,Javascript,Operators,Ternary Operator,最近我在JS中对codewars进行挑战,当你提交代码时,他们会向你展示其他人是如何完成挑战的,这是解决方案之一。当我通过它看的时候,我注意到了这些标记,我想了解它们并学习如何使用它们。中间似乎也有一个“?”,这使得它相信它与三元算符有关。 let data = [":~)", ";->", ";~(", ":~D", ";o>", ":)", ";oD"]; function countSmileys(data) { return data.filter(x =>

最近我在JS中对codewars进行挑战,当你提交代码时,他们会向你展示其他人是如何完成挑战的,这是解决方案之一。当我通过它看的时候,我注意到了这些标记,我想了解它们并学习如何使用它们。中间似乎也有一个“?”,这使得它相信它与三元算符有关。

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

function countSmileys(data) {
    return data.filter(x => /^[:;][-~]?[)D]$/.test(x)).length;   
}
我可能对它的功能有一些模糊的想法,因为我知道输出应该是什么。

谢谢你抽出时间

他们使用的是

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

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;   
}
您可以阅读有关正则表达式的更多信息:


test
函数

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