javascript: взять первые аргументы из массива String и позволить остальным снова присоединиться

1

Я получил массив String, где мне просто нужен первый аргумент. Остальное снова должно быть строкой. В качестве примера я использую discord.js и работаю над командой /kick, поэтому usermention будет аргументом 1, а остальное будет причиной. Но как массив "Аргументы" мог создать целую строку, не используя самый первый индекс? На данный момент я только что получил это:

//The given arguments in the command get separated
var Arguments = message.content.split(" ");

//testing purpose, if the first index really is the mentioned user
message.channel.send("Username: " + Arguments[1]);

//joining the reasons together to a whole string
var reason = Arguments.join(/*This is the part where I don't know how to tell the array to ignore the first index*/);
  • 1
    пожалуйста, добавьте пример строки и результат.
  • 0
    @MushMello, если вас не волнует изменение аргументов, вы можете просто сдвинуть, чтобы удалить первый элемент.
Показать ещё 1 комментарий
Теги:

5 ответов

1

Попробуйте назначить аргументы массиву в начале:

var args = message.content.split(" ");

затем, прежде чем присоединиться к ним, вы можете удалить первый элемент из args:

args.shift();
0

Вы можете использовать ломтик

let str = "hello world how are you";
let splitStr = str.split(' ');
let arg = splitStr[0];
let rest = splitStr.slice(1).join(' ')
console.log(arg,'\n',rest)
0

Используйте desctructuring и синтаксис распространения, чтобы получить хвост массива:

const arguments = ['jack', 'john', 'sylvia', 'eddy'];
const [_, ...rest] = arguments;
const argString = rest.join(' ');
console.log(argString);
0

Используйте Shift и присоединиться, чтобы сделать трюк

var a=["fd","fdd","fsdsd"]
console.log(a.shift())  //first element
console.log(a.join(",")); //rest in a string form
0

Вы можете использовать синтаксис ES6:

const Arguments = ['Apple', 'Banana', 'Peach', 'Pear'];
    
const [first, ...remaining] = Arguments;
    
console.log(first) // Apple
    
const joinedRemaining = remaining.join(', ');
    
console.log(joinedRemaining); // Banana, Peach, Pear

Обратите внимание, что в:

const [first, ...remaining] = Arguments;

first является первым значением, а remaining является массив со всеми значениями, кроме первого

Ещё вопросы

Сообщество Overcoder
Наверх
Меню