В языке нет предопределенного метода для удаления элемента из массива, написал свой.
$arr (массив из которого удаляем)
$index (индекс удаляемого элемента)
function array_delete_item($arr, $index){
#Проверка на корректность данных
write "Индекс удаляемого элемента $index"
if($index -gt $arr.count-1){
write "Индекс превышает границы массива"
return $null}
if($index -lt 0){
write "Индекс не может быть меньше 0"
return $null}
#++++++
$start_index = 0
#подготовим индекс
$index_left = $index - 1;
$index_right = 0;
#Если удаляем первый элемент
if ($index_left -lt 0){$index_left = 1
$start_index = 1
$index_right = 2
}
# Индекс до удаляемого элемента $index_left
if($index_right -eq 0){$index_right = $index + 1}
# Индекс после удаляемого элемента $index_left
if ($index_right -gt $arr.Count){$index_right=$arr.count-1}
# Начальный индекс $start_index
return $arr[($start_index)..($index_left)]+$arr[($index_right)..($arr.Count)]
}
$arr (массив из которого удаляем)
$index (индекс удаляемого элемента)
function array_delete_item($arr, $index){
#Проверка на корректность данных
write "Индекс удаляемого элемента $index"
if($index -gt $arr.count-1){
write "Индекс превышает границы массива"
return $null}
if($index -lt 0){
write "Индекс не может быть меньше 0"
return $null}
#++++++
$start_index = 0
#подготовим индекс
$index_left = $index - 1;
$index_right = 0;
#Если удаляем первый элемент
if ($index_left -lt 0){$index_left = 1
$start_index = 1
$index_right = 2
}
# Индекс до удаляемого элемента $index_left
if($index_right -eq 0){$index_right = $index + 1}
# Индекс после удаляемого элемента $index_left
if ($index_right -gt $arr.Count){$index_right=$arr.count-1}
# Начальный индекс $start_index
return $arr[($start_index)..($index_left)]+$arr[($index_right)..($arr.Count)]
}
Комментариев нет:
Отправить комментарий