如何使用字符串长度对包含键值对字典的数组进行排序

时间:2016-06-02 06:18:20

标签: ios objective-c nsarray

我的词典数组是:

 array==(
    {
    businessid = 9;
    keywordid = 127;
    keywordname = boutique;
},
    {
    businessid = 9;
    keywordid = 129;
    keywordname = clothing;
},
    {
    businessid = 9;
    keywordid = 138;
    keywordname = collection;
},
    {
    businessid = 9;
    keywordid = 143;
    keywordname = couture;
},
    {
    businessid = 9;
    keywordid = 131;
    keywordname = design;
},
    {
    businessid = 9;
    keywordid = 130;
    keywordname = designer;
},
    {
    businessid = 9;
    keywordid = 126;
    keywordname = fashion;
},
    {
    businessid = 9;
    keywordid = 144;
    keywordname = gown;
},
    {
    businessid = 9;
    keywordid = 137;
    keywordname = indian;
},
    {
    businessid = 9;
    keywordid = 141;
    keywordname = "kids wear";
},
    {
    businessid = 9;
    keywordid = 128;
    keywordname = "ladies clothes";
},
    {
    businessid = 9;
    keywordid = 142;
    keywordname = lehenga;
},
    {
    businessid = 9;
    keywordid = 139;
    keywordname = menswear;
},
    {
    businessid = 9;
    keywordid = 136;
    keywordname = salwar;
},
    {
    businessid = 9;
    keywordid = 132;
    keywordname = saree;
},
    {
    businessid = 9;
    keywordid = 133;
    keywordname = suit;
},
    {
    businessid = 9;
    keywordid = 135;
    keywordname = wedding;
},
    {
    businessid = 9;
    keywordid = 140;
    keywordname = "western wear";
}

我想对这个数组进行排序,其值的长度由key" keywordname"保存。

请向我提供相关解决方案或我在这里stoking的任何建议。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

使用此代码:

NSMutableArray * BusinessIdArray = [yourDictionary valueForKey:@"businessid"]; //it will put all the data of "businessid" into a single array
    NSLog(@"BusinessIdArray ===== %@", BusinessIdArray);

NSMutableArray * KeyWordIdArray = [yourDictionary valueForKey:@"keywordid"]; //it will put all the data of "keywordid" into a single array
    NSLog(@"KeyWordIdArray ===== %@", KeyWordIdArray);

NSMutableArray * KeywordnameArray = [yourDictionary valueForKey:@"keywordname"]; //it will put all the data of "keywordname" into a single array
    NSLog(@"KeywordnameArray ===== %@", KeywordnameArray);

要合并所有三个数组,您可以使用以下代码

NSMutableArray *newArray = [[NSMutableArray alloc] init];

[newArray addObjectsFromArray: BusinessIdArray];

[newArray addObjectsFromArray: KeyWordIdArray];

[newArray addObjectsFromArray: KeywordnameArray];

NSLog(@"New Array after Combining all three arrays is %@",newArray);

希望它可以帮到你