NSDictionary-一意である必要があるキーを選択して一意のレコードを取得します

アルベルト・スキアリティ

N個のキーを持つ辞書の配列があります。いくつかのキーのみを含む一意のdictの配列を作成したいと思います。

例。私の口述:

{
    "m_anno" = 2017;
    "m_c_ultimo" = "4.130";
    "m_cod" = 4522;
    "m_cod_art" = "*B";
    "m_des" = "SCRITTA BIANCA NISSAN";
    "m_ditta" = SIS;
    "m_prz" = "0.000";
    "m_qta" = "1.000";
    "m_sconto" = {
    };
},
{
    "m_anno" = 2017;
    "m_c_ultimo" = "25.020";
    "m_cod" = 4522;
    "m_cod_art" = "000/01200";
    "m_des" = "CABLAGGIO X TIMONE";
    "m_ditta" = SIS;
    "m_prz" = "0.000";
    "m_qta" = "1.000";
    "m_sconto" = {
    };
},
{
    "m_anno" = 2017;
    "m_c_ultimo" = "1.000";
    "m_cod" = 4523;
    "m_cod_art" = 000000;
    "m_des" = "BLISTER O-RING 3106";
    "m_ditta" = SIS;
    "m_prz" = "0.000";
    "m_qta" = "1.000";
    "m_sconto" = {
    };
},

m_annoキーとm_codキーの一意の値を取得したい。期待される結果:

{
  {
     "m_anno" = 2017
     "m_cod" = 4522
  }
  {
      "m_anno" = 2017
      "m_cod" = 4523
  }
}

最も簡単な方法はどれですか?

アミンネグム-アワド

基本的に、ペアがまだ存在しない場合は、配列を反復処理して(クエルサプライズ!)、コレクションに配置する必要があります。2番目のタスクは、次のインスタンスを使用するNSSetNSOrderedSet、順序を保持する必要があるという要件に応じて実行できます

NSArray *values = …; // You start with this
NSMutableOrderedSet *uniquePairs = [NSMutableOrderedSet new];
for( NSDictionary *value in values )
{
   NSDictionary *pair = @{ @"m_anno":[value objectForKey:@"m_anno"], @"m_cod":[value objectForKey:@"m_cod"] }; // Create smaller version
   [uniquePairs addObject:pair];
}

もっとエレガントな方法があるかもしれません。(視点による)

辞書への追加を作成します。これにより、配列が目的のキーに削減されます。

NSDictionary( UnifyAnnoAndCodeAddition )
- (NSDictionary*)annoAndCod
{
  return @{ @"m_anno":[self objectForkey:@"m_anno"], @"m_cod":[self objectForKey:@"m_code"]};
}

次に、Key-Valueコーディングを使用して、縮小された辞書の配列を作成し、次のセットを作成します。

NSArray *values = …; // You start with this
NSArray *pairs = [values valueForKey:@"annoAndCod"]; 
NSOrderedSet = [NSOrderedSet orderedSetWithArray:pairs];

まあ、少なくともそれは短いです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

NSDictionaryのNSArrayから一意のNSDictionaryを取得する方法

分類Dev

nsdictionaryから選択した値のキーを取得する方法

分類Dev

他のNSDictionaryのキーとしてNSDictionaryを使用する

分類Dev

NSDictionary-キーサブエレメントの値を取得する必要があります

分類Dev

NSDictionaryの初期化

分類Dev

NSArray内のNSDictionary

分類Dev

NSDictionaryの初期化

分類Dev

MySqlは、列の値が一意である場所を選択します

分類Dev

NSDictionaryを他のNSDictionaryに追加する

分類Dev

NSDictionaryのキーを取得する方法

分類Dev

一意のレコードのみを選択する方法

分類Dev

一意のレコードを選択する

分類Dev

2つの組み合わせを一意に設定してLotusノートドキュメントを取得する必要があります

分類Dev

IPで並べ替えてから、3つの一意のIPができるまでレコードを選択し続けます

分類Dev

2つのテーブルを結合してレコードを表示する必要があり、レコードは一意である必要があります

分類Dev

列の値が一意であるすべての行を選択します

分類Dev

SQLServer-すべての列の1つが一意であるかどうかを選択します

分類Dev

MongoDBで一意のキーとしてNフィールドを指定する方法はありますか?

分類Dev

awk を使用して一意のレコード数を取得するには

分類Dev

Postgres、選択した日付範囲から1日あたりの一意のレコードを取得する

分類Dev

週番号を使用して一意のレコードIDのMYSQLPHPを選択する方法

分類Dev

N行の一意のレコード制限を選択します

分類Dev

NSDictionaryからキーを取得する

分類Dev

mysqlで一意のレコードのみを選択する方法

分類Dev

mysqlから一意のレコードを取得します

分類Dev

NSDictionaryからのJSON

分類Dev

key = xであるNSDictionaryから新しいNSDictionaryを作成する方法

分類Dev

ある列で値が= 0で、別の列で一意のIDを持つ行のレコードを選択するSQLクエリ

分類Dev

自動生成された一意のキーを使用してFirebaseから子レコードを取得する

Related 関連記事

  1. 1

    NSDictionaryのNSArrayから一意のNSDictionaryを取得する方法

  2. 2

    nsdictionaryから選択した値のキーを取得する方法

  3. 3

    他のNSDictionaryのキーとしてNSDictionaryを使用する

  4. 4

    NSDictionary-キーサブエレメントの値を取得する必要があります

  5. 5

    NSDictionaryの初期化

  6. 6

    NSArray内のNSDictionary

  7. 7

    NSDictionaryの初期化

  8. 8

    MySqlは、列の値が一意である場所を選択します

  9. 9

    NSDictionaryを他のNSDictionaryに追加する

  10. 10

    NSDictionaryのキーを取得する方法

  11. 11

    一意のレコードのみを選択する方法

  12. 12

    一意のレコードを選択する

  13. 13

    2つの組み合わせを一意に設定してLotusノートドキュメントを取得する必要があります

  14. 14

    IPで並べ替えてから、3つの一意のIPができるまでレコードを選択し続けます

  15. 15

    2つのテーブルを結合してレコードを表示する必要があり、レコードは一意である必要があります

  16. 16

    列の値が一意であるすべての行を選択します

  17. 17

    SQLServer-すべての列の1つが一意であるかどうかを選択します

  18. 18

    MongoDBで一意のキーとしてNフィールドを指定する方法はありますか?

  19. 19

    awk を使用して一意のレコード数を取得するには

  20. 20

    Postgres、選択した日付範囲から1日あたりの一意のレコードを取得する

  21. 21

    週番号を使用して一意のレコードIDのMYSQLPHPを選択する方法

  22. 22

    N行の一意のレコード制限を選択します

  23. 23

    NSDictionaryからキーを取得する

  24. 24

    mysqlで一意のレコードのみを選択する方法

  25. 25

    mysqlから一意のレコードを取得します

  26. 26

    NSDictionaryからのJSON

  27. 27

    key = xであるNSDictionaryから新しいNSDictionaryを作成する方法

  28. 28

    ある列で値が= 0で、別の列で一意のIDを持つ行のレコードを選択するSQLクエリ

  29. 29

    自動生成された一意のキーを使用してFirebaseから子レコードを取得する

ホットタグ

アーカイブ