嗨,我是javascript新手,我试图创建一个我想调用的函数,如果字符串包含(-)将返回字符串值“ 00”,但如果不保留则保持不变。非常感谢您的帮助或建议。
example
val1= -01
expected output is =00
val2= 03
expected output:03
代码但不起作用
我像
一样使用它myFunction(val1);
但是即使字符串包含此值,它仍然返回相同的值-
function myFunction(myFunction) {
var n = myFunction.includes("-");
if (n =="true"){
return "00:00";
}else{
return myFunction;
}
答案 0 :(得分:2)
您似乎正在检查调用includes
的结果是否等于字符串"true"
,事实并非如此。只需将if
语句替换为if(n)
就可以解决问题。
答案 1 :(得分:1)
这里有几个问题。
尝试一下:
int animal_cmp(struct avl_node const *a_, struct avl_node const *b_)
{
struct animal const *a = container_of(a_, struct animal, node);
struct animal const *b = container_of(b_, struct animal, node);
return a->dangerousness - b->dangerousness;
}
为函数(“ myFunction”)和函数参数(“ myString”)使用不同的名称。
使用关键字“ true”代替字符串“ true”。甚至更好,只需使用布尔表达式即可。
答案 2 :(得分:0)
function myFunction(word) {
if (word.includes("-")) {
return "00";
}
else {
return word;
}
}
console.log(myFunction("-01"));
console.log(myFunction("02"));
不要同时使用myFunction
作为函数的名称和参数。这是一个坏主意。
答案 3 :(得分:0)
确保为函数和变量使用适当的名称。此外,布尔检查可以直接简化。试试这个
function myFunction(str) {
if (str.includes("-")) {
return "00";
} else {
return str;
}
}
另一种方法是使用三元运算符。
function myFunction(str) {
return str.includes("-") ? "00" : str
}
答案 4 :(得分:0)
使用Array.prototype.includes() 如下:
var val1= '-01';
var val2= '03';
function myFunction(s){
return s.includes('-') ? '00' : s;
}
console.log(myFunction(val1));
console.log(myFunction(val2));
答案 5 :(得分:-1)
function mycontain(s) {
// check if desired token exists then return special or original
return s.contains('-') ? '00' : s
}