Общее·количество·просмотров·страницы

среда, 21 января 2015 г.

PowerShell. Функция удаления элементов из массива

В языке нет предопределенного метода для удаления элемента из массива, написал свой.
$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)]
}

Комментариев нет:

Отправить комментарий