在添加指定索引位置的数组中的元素。 PowerShell的 [英] Adding element at specified index location in an array. Powershell
问题描述
我是新来的PowerShell和试图得到一些功能整合在一起。我创建了创建一个从输入数组的功能。我也想创建添加指定索引的元素,而无需使用列表的功能(我知道名单是如此容易得多,但我想知道如何做没有列表)。
这是我的code为止。我不能得到这个工作,我试着循环和低于code,任何帮助是AP preciated。
亲切的问候!
功能Create_array($指数,$值)
{
$阵列=新对象[]数组$指数
如果($值)
{
为($ I = 0; $ I $ -lt array.length; $ I ++)
{
$阵列[$ i] = $价值
}
写主机
写主机Grattis!锭阵列AR NU skapad MED angivet指数OCH瓦德。
}
其他
{
为($ I = 0; $ I $ -lt array.length; $ I ++)
{
$阵列[$ i] =HEJ $ ENV:用户名OCHvälkommen直到丹尼斯OCH乔纳斯脚本Detta AR EN defaulttext,安格ETT eget指数följtAVönskat瓦德
}
写主机
写主机阵列AR NU skapad配有defaultvärden
}
返回$数组
}
功能Add_to_array($ nyarray,价值$,$指数)#惯犯,直到ETT瓦德Påangivet指数埃勒längst仪OM指数EJ安格斯。
{
如果($指数-gt $ nyarray.length)
{
$ I = $ nyarray.length
写主机杜哈日angivit ETT felaktigt指数。声浪阵列innehåller$ I元素
}
ELSEIF($指数-gt 2)#科拉尔OM DET angivna indexet ARstörre的2
{
$ nyarray [$指数 - 2] + = $#Varde的嗡större一个2:以pA angivet指数Angivnavärdetläggs($指标 - 2)
写主机元素的AR NU inlagtPåangivet指数嚣我阵
}#OCH resten flyttas仪。
ELSEIF($指数-eq 1)#科拉尔OM angivet指数AR mindre的2
{
$ nyarray [0]以pA指数1 + = $#Varde的嗡mindresättsDET angivnavärdet(0)
写主机元素的AR NU inlagtPåangivet指数嚣我阵
}
其他
{
$ nyarray + = $#Varde的嗡inget指数在安格斯DET angivnavärdetlängst仪萨特denna的Funktion。
写主机元素的AR NU inlagtlängst仪我嚣阵
}
返回$#nyarray在书房惯犯NYAarrayen我DET variabelnamn人VALT。
}
您可以用数组切片做到这一点:
$阵列= @(1,2,4,5)
$值= 3
$指数= 2$阵列= $数组[0 ..($指数-1)],$价值$数组[$指数。($ array.Length -1)$阵列
I'm new to Powershell and trying to get a few functions together. I've created a function that creates an array from input. I'm also trying to create a function that add elements at a specified index without using lists (I know that lists are so much easier, but I'm trying to understand how to do it without lists).
This is my code so far. I just can't get this to work, I've tried with loops and the code below, any help is appreciated.
Kind Regards!
Function Create_array ($index, $value)
{
$array = new-object array[] $index
if ($value)
{
for ($i = 0;$i -lt $array.length;$i++)
{
$array[$i] = $value
}
write-host ""
write-host "Grattis!! Din array är nu skapad med angivet index och värde."
}
else
{
for ($i = 0;$i -lt $array.length;$i++)
{
$array[$i] = "Hej $env:username och välkommen till Dennis och Jonas script. Detta är en defaulttext, ange ett eget index följt av önskat värde"
}
write-host ""
write-host "Array är nu skapad med defaultvärden"
}
return $array
}
Function Add_to_array ($nyarray, $value, $index) # Lägger till ett värde på angivet index eller längst ner om index ej anges.
{
if ($index -gt $nyarray.length)
{
$i = $nyarray.length
write-host "Du har angivit ett felaktigt index. Din array innehåller $i element"
}
elseif ($index -gt 2) # Kollar om det angivna indexet är större än 2
{
$nyarray[$index - 2] += $värde # Om större än 2: Angivna värdet läggs in på angivet index ($index - 2)
write-host "Element är nu inlagt på angivet index i din array"
} # och resten flyttas ner.
elseif ($index -eq 1) # Kollar om angivet index är mindre än 2
{
$nyarray[0] += $värde # Om mindre sätts det angivna värdet in på index 1 (0)
write-host "Element är nu inlagt på angivet index i din array"
}
else
{
$nyarray += $värde # Om inget index anges sätter denna funktion in det angivna värdet längst ner.
write-host "Element är nu inlagt längst ner i din array"
}
return $nyarray # Lägger in den "nya" arrayen i det variabelnamn man valt.
}
You can do it with array slicing:
$array = @(1,2,4,5)
$value = 3
$index = 2
$array = $array[0..($index -1)],$value,$array[$index..($array.Length -1)]
$array
这篇关于在添加指定索引位置的数组中的元素。 PowerShell的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!