JavaScript пусть оператор if if args - PullRequest
0 голосов
/ 14 ноября 2018

Я пытаюсь определить let в JavaScript, чтобы при отсутствии arg[2] он просто использовал arg[1], но если есть arg[1] и arg[2], он будет использовать их оба.

ie. command: !hello world
then: let cmd = arg[1]

но также

command: !hello world one
then: let cmd = arg[1] + " " + arg[2]

У меня есть это, однако оно работает, только если существует arg[2], и не работает, если предоставляется только arg[1]:

let cmd = args[1] + " " + args[2];

Можно ли в любом случае указать аргумент для прохождения через пробелы?Итак! Привет, мир первый, будет arg[1] arg[2] (arg[2] существо: мир один)

Ответы [ 3 ]

0 голосов
/ 14 ноября 2018

Вы имеете в виду, как:

let test = arg[1] && arg[2] ? arg[1]+' '+arg[1] : arg[1];
0 голосов
/ 14 ноября 2018

Если вы используете ES6, вы можете использовать оператор покоя примерно так:

const myFunction = (...args) => {
 console.log(args[0])   
}

, если вы не используете синтаксис жирной стрелки, вы можете обратиться к аргументы ключевое слово:

    function func1(a, b, c) {
      if(arguments && arguments.length == 2){
          console.log('do a thing')
        }else{
          console.log('do a different thing')
        }
      };
0 голосов
/ 14 ноября 2018

Я обычно делаю что-то вроде:

const myFunction = (argA, argB) => {
    if (argB === undefined) argB = "";
    console.log(argA + " " + argB);
    return "" + argA + " " + argB
}
...