Удаление элемента из массива по его индексу

Удалить элемент из массива, зная его индекс очень просто, и при этом совершенно не обязательно для этих целей использовать диапазоны и алгоритмы из стандартной библиотеки!

Вот простой шаблон, который можно легко и просто использовать в проектах (напоминаю, что в D нет стандартного средства удаления элемента из массива по индексу):

T[] removeNth(T, U)(T[] array, U index)
{
	auto newIndex = cast(size_t) index;
	
	if (array.length > 0)
	{
		return array[0..newIndex] ~ array[newIndex+1..$];
	}
	
	return array;
}

Обращаю внимание: шаблон не изменяет исходного массива!

Добавить комментарий