问题描述
我正在使用Powershell Arraylist来保存通过分割字符串生成的列表。当我尝试使用以下代码删除列表中的第一项时,enitre列表将为空。
// ...
authStateServiceMock = {
get state() { return of(null) },get isLoggedIn() { return of(false) },};
// ...
spyOnProperty(authStateServiceMock,'state','get').and.callFake(() => of(stateMock));
expect(component.menu).toEqual([
...something...
]);
如何删除Powershell中Arraylist索引0处的第一项
解决方法
RemoveAt
不会返回值(请参见https://docs.microsoft.com/en-us/dotnet/api/system.collections.arraylist.removeat?view=netcore-3.1),因此不是
$teststringlist=$teststringlist.RemoveAt(0)
只需这样做:
$teststringlist.RemoveAt(0)
,
您可以使用Select-Object
cmdlet和-Skip
参数来完成此操作:
$teststringlist = $teststringlist | Select-Object -Skip 1
您也可以这样:
$teststringlist[1 .. ($a.teststringlist)]