Я получил массив 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*/);
Попробуйте назначить аргументы массиву в начале:
var args = message.content.split(" ");
затем, прежде чем присоединиться к ним, вы можете удалить первый элемент из args
:
args.shift();
Вы можете использовать ломтик
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)
Используйте desctructuring и синтаксис распространения, чтобы получить хвост массива:
const arguments = ['jack', 'john', 'sylvia', 'eddy'];
const [_, ...rest] = arguments;
const argString = rest.join(' ');
console.log(argString);
Используйте Shift и присоединиться, чтобы сделать трюк
var a=["fd","fdd","fsdsd"]
console.log(a.shift()) //first element
console.log(a.join(",")); //rest in a string form
Вы можете использовать синтаксис 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
является массив со всеми значениями, кроме первого