組對象,獲取計數

戈登

給定一個包含一些重複項目的列表,我可以使用Group-Object -AsHashtable並得到一個哈希表,該表似乎包含帶有項目名稱的鍵,而該值是我無法識別的。

所以,給定

$array = [System.Collections.Generic.List[String]]@('A', 'B', 'C', 'B', "c", 'C')
$grouped = $array | Group-Object -AsHashTable

$grouped 將會

Name                           Value                                                                                                                                                                                                                                              
----                           -----                                                                                                                                                                                                                                              
A                              {A}                                                                                                                                                                                                                                                
B                              {B, B}                                                                                                                                                                                                                                             
C                              {C, c, C}  

在這一點上,我會認為$grouped['B'].Count$grouped.'B'.Count會產生正確的計數 2。但我得到 0。我錯過了什麼?

克萊門特0

Windows PowerShell看到一個錯誤,錯誤已在PowerShell (Core) 7+ 中修復-有關詳細信息,請參閱GitHub 問題 #6933

解決方法:在 Windows PowerShell 中,始終-AsHashTable組合-AsString,即使輸入對像或分組屬性值已經字符串。亞伯拉罕·齊納拉致敬

# Note: .B.Count is equivalent to ['B'].Count
PS> ('A', 'B', 'C', 'B', "c", 'C' | Group-Object -AsHashTable -AsString).B.Count

2 # OK, thanks to -AsString (not necessary in PowerShell 7+)

這繞過了該錯誤,否則該錯誤表現如下:旨在成為哈希表鍵的字符串意外地包裝在不可見的[psobject]包裝器中,從而阻止了基於字符串的鍵查找。
在 Windows PowerShell 中('A', 'B', 'C', 'B', "c", 'C' | Group-Object -AsHashTable).B產生$null。)

注意:這意味著如果您希望鍵為字符串以外的數據類型(例如),則不能-AsHashtable在 Windows PowerShell 中使用[int],因為對於此類數據類型,[psobject]無法繞過不可見包裝。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何根據兩個數組獲取匹配計數的對象

如何在嵌套的對像數組中獲取對象路徑?

如何使用mongo查詢獲取對像數組的特定對象?

如何按值過濾嵌套的對像數組並獲取根對象

Mongodb聚合獲取數組中的具體對象

從包含 str 的對象向量中獲取 str 的數組切片

JQ根據鍵值獲取唯一的對象和數組

無法將從 mongoDB 獲取的對象添加到普通的 javascript 數組

如何獲取數據對象的第一個數據對象(REST api)

我如何迭代一組 json 數據以始終獲取第一個 json 對象

如何獲取數組中的所有唯一對象(具有兩個值)?

我如何從具有多個對象、相同數組但只有特定鍵和值的數組中獲取?

獲取級聯對像數組的 indexOf

獲取以前的 useState([{}]) 狀態(對像數組)

如何在單獨的數組中計算數組中的每個對象?

獲取不同子組中的值計數

按月分組並在 MongoDB 中獲取計數

javascript從數組中的第一個對象獲取值

PHP中從數組數組中獲取對應數組的最大值和key

獲取 MessageReference 對象的作者

獲取列表理解對象

PowerShell:獲取 json 對象的值

獲取空對象的名稱

將獲取數據返回到for循環js中的對象

如何在android中獲取數據對數組列表?

如何獲取數組中對值的數量?Javascript

從對象參數數組中獲取值並在反應中存儲為空狀態

有沒有辦法自動獲取對調用構造函數的對象的引用?

React 中數組對象的 SetState