函数包含特定字符串返回字符串

时间:2019-04-07 17:06:56

标签: javascript

嗨,我是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;
  }

6 个答案:

答案 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;
}
  1. 为函数(“ myFunction”)和函数参数(“ myString”)使用不同的名称。

  2. 使用关键字“ 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
}