我有三个可变数组:
-
wkdatearray 值如下所示:日期从 2016-01-10 到 2016-01-16。
-
像这样的 spentonarray 值:2016-01-10 到 2016-01-13。
-
小时数组值如下:7,3,4,5,1。
因此,我像这样比较wkdatearray和spentarray的索引对象:
for (int i = 0; i < self.wkDateArray.count; i++) {
for (int j = 0; j < self.spentonArray.count; j++) {
if ([
[self.wkDateArray objectAtIndex: i] isEqualToString: [self.spentonArray objectAtIndex: j]
]) {
NSLog(@ "Matched Indexes %d %@", i, [self.wkDateArray objectAtIndex: i]);
} else {
}
}
现在我想得到这样的结果:
如果 self.wkdatearray 和 self.spentonarray 的索引值匹配或相等,那么我必须将小时数组值设置为 self.wkdatearray[0],[1]的对象...[6]. 像新表词典中的这样。现在我手动输入字符串@"。
newSheet = [NSDictionarydictionaryWithObjectsAndKeys:strEntryID,entryID, proj,project,projID,projectId, strIssue,issue,strIssueID,issueId, strActivity,activity,strActivityId,activityId,@"",comment,@"",self.wkDateArray[0],@"",self.wkDateArray[1],@"",self.wkDateArray[2],@"",self.wkDateArray[3],@"",self.wkDateArray[4],@"",self.wkDateArray[5],@"",self.wkDateArray[6], nil];
如果 self.wkdatearray 和 self.spentonarray 的索引值不匹配且不等于,则像这样的小时值 @"' 作为 self.wkdatearray[0] 的对象,就像 newsheet 字典中的这样。现在,我默认将对象值设置为 @"for self.wkdatearray[0...6]。
这里的小时数组只有 5 个值。
如何同时满足 for 循环中的两个条件?或者有没有其他方法可以做到这一点?
首先,使 newSheet 字典可变。您不需要 2 个 for 循环。
int minIndexCount = MIN(self.wkdatearray.count, self. spentonArray.count)
我们首先取 wkdatearray.count
和 spentonArray.count
的最小值,因为例如,如果spentonArray
中只有 2 个项目,那么如果我们尝试使用wkdatearray
的索引 4,那么我们没有索引 4 spentonArray
,这意味着 wkdatearray
和 spentonArray
的索引应该相等的主要条件失败了。因此,通过取最小值,我们确保我们只比较那些在wkdatearray
和spentonArray
中可用的索引。
for (int i = 0; i < minIndexCount; i++) {
if ([[self.wkDateArray objectAtIndex: i] isEqualToString: [self.spentonArray objectAtIndex: i]])
{
NSLog(@ "Matched Indexes %d %@", i, [self.wkDateArray objectAt Index: i]);
[newSheet setValue:self.hoursarray[i] forKey:self.weekArray[i]]
} else {
}
}
如果"匹配或等于",你的意思是如果索引相同并且字符串匹配。
for (int i = 0; i < self.wkDateArray.count; i++) {
for (int j = 0; j < self.spentonArray.count; j++) {
if (i==j && [
[self.wkDateArray objectAtIndex: i] isEqualToString: [self.spentonArray objectAtIndex: j]
]) {
NSLog(@ "Matched Indexes %d %@", i, [self.wkDateArray objectAtIndex: i]);
} else {
}
}
记下 if 语句的开头,该语句具有if (i==j && ...