这里我面临一些问题,我从服务器获得两个数组,第一个数组就像这样
[
"AI",
"AI",
"9W",
"9W",
"AI",
"AI",
"9W"
]
和第二个这样的数组,
[
{
"Name": "iMac",
"Image": null,
"Code": "9W"
},
{
"Name": "iPhone",
"Image": null,
"Code": "AI"
},
]
但我需要基于第一个数组代码值与第二个数组code
值进行比较然后我需要得到相应的name
,我试图排序和快速枚举但我无法得到,请你能帮忙,我能得到,谢谢
答案 0 :(得分:0)
您可以使用谓词,查找Code
与您要查找的值匹配的条目:
NSArray *objects = @[@{@"Name": @"iMac", @"Image": [NSNull null], @"Code": @"9W"},
@{@"Name": @"iPhone", @"Image": [NSNull null], @"Code": @"AI"}];
NSString *code = @"AI";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"Code=%@", code];
NSArray *matchingObjects = [objects filteredArrayUsingPredicate:predicate];
如果你想要第一个匹配项目的名称:
NSString *name = matchingObjects[0][@"Name"];
答案 1 :(得分:0)
这是一个Swift示例:
let arrayOne = [
"AI",
"AI",
"9W",
"9W",
"AI",
"AI",
"9W"
]
let arrayTwo = [
[
"Name":"iMac",
"Image":"null",
"Code": "9W"
],
[
"Name": "iPhone",
"Image": "null",
"Code": "AI"
],
]
for i in arrayTwo
{
if arrayOne .contains(i["Code"]!)
{
print(i["Name"]!)
}
}
请尝试此代码。在这里,您将获得与第一个数组匹配的名称