Функция содержит определенную строку Возвращает строку

Привет, я новичок в 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;
  }
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
54
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Похоже, вы проверяете, равен ли результат вызова includes строке "true", чего не будет. Простая замена вашего утверждения if на if (n) должна помочь.

function myFunction(word) {

  if (word.includes("-")) {
    return "00";
  }

  else {
    return word;
  }
}

console.info(myFunction("-01"));
console.info(myFunction("02"));

Не используйте myFunction как имя функции, так и ее аргумент. Это плохая идея.

Вы предлагаете не использовать myFunction в качестве имени функции и аргумента, но не объясняете, почему код действительно не работает. Потому что именование может быть плохой идеей, но не объясняет, почему оно терпит неудачу.

t.niese 07.04.2019 20:07

Здесь есть несколько проблем.

Попробуй это:

function myFunction(myString) {

  if (myString.includes("-")) {
      return "00:00";
  }else{
      return myString;
  }
  1. Используйте имена разные для функции ("myFunction") и параметра функции ("myString").

  2. Используйте ключевое слово «true» вместо строки «true». Или, что еще лучше, просто используйте логическое выражение.

Убедитесь, что у вас есть правильные имена для ваших функций и переменных. Кроме того, логические проверки могут быть упрощены напрямую. Попробуй это

function myFunction(str) {
   if (str.includes("-")) {
     return "00";
   } else {
     return str;
   }
}

Другим способом было бы использование тернарного оператора.

function myFunction(str) {
    return str.includes("-") ? "00" : str
}
function mycontain(s) {
  // check if desired token exists then return special or original
  return s.includes('-') ? '00' : s
}
Ответ принят как подходящий

Используйте Массив.прототип.включает() , как показано ниже:

var val1= '-01';
var val2= '03';

function myFunction(s){
    return s.includes('-') ? '00' : s;
}

console.info(myFunction(val1));
console.info(myFunction(val2));

Другие вопросы по теме