我有这段代码:
$myarray = @(@(0..3) | foreach {(@(0..$_) | Measure-Object -Sum).Sum})
[array]::indexof($myarray,2)
$ myarray包含值0,1,3,6,所以我希望[array]::indexof($myarray,3)
返回值2,但事实并非如此。它返回-1。
我假设我认为的数组实际上并不是一个数组,所以我假设分配给$myarray
的东西需要得到不知何故转换成阵列,显然我做错了。
答案 0 :(得分:1)
通过索引号获取数组中值的更简单方法如下:
$myarray[2]
抱歉,误解了你的问题。要在数组中首次出现值,请尝试以下方法:
$myarray.IndexOf([double]3)
答案 1 :(得分:0)
想出来,抱歉。它是一系列双打,而不是一系列的整数。这是有效的(实际上是我想要的,即2016年的元素):
$array = @(0..64) | foreach {[int](@(0..$_) | Measure-Object -Sum).Sum}
[array]::indexof($array,2016)