gpt4 book ai didi

arrays - 在数组中的指定索引位置添加元素。电源外壳

转载 作者:行者123 更新时间:2023-12-01 12:36:27 25 4
gpt4 key购买 nike

我是 Powershell 的新手,正在尝试将一些功能组合在一起。我创建了一个从输入创建数组的函数。我还尝试创建一个函数,在不使用列表的情况下在指定索引处添加元素(我知道列表要容易得多,但我试图了解如何在没有列表的情况下执行此操作)。

到目前为止,这是我的代码。我只是无法让它工作,我已经尝试使用循环和下面的代码,感谢任何帮助。

亲切的问候!

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.
}

最佳答案

我就是这样处理的。包装成一个函数。虽然你可能有问题。如果您的数组值很长。

$myArray = @("how","to","slice","into","an","array")

Function Insert-ToArray($Array, $insertAfter, $valueToInsert){
#find the index of value before insertion
$insertPoint = $Array.IndexOf($insertAfter)
#split the array into two parts
$firstHalf = $Array[0..$insertPoint]
$secondHalf = $Array[($insertPoint +1)..$Array.Length]
#slice into a new array
$newArray = @($firstHalf,$valueToInsert,$secondHalf)
return $newArray
#returning this new array means you can assign it over the old array
}

$myArray = Insert-ToArray -Array $myArray -insertAfter "slice" -valueToInsert "something"

$myArray

关于arrays - 在数组中的指定索引位置添加元素。电源外壳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19955050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com