1

私は2つ持っていNSMutableArraysます。それぞれにカスタム単語オブジェクトが含まれています。カスタム単語には、テキストと頻度の 2 つのプロパティがあります。arraysここで、これら 2 つの配列に同じテキストが含まれている場合に、これら 2 つのテキストの頻度を比較し、2 つの中で最も頻度の高いものを選択するように、これら 2 つを組み合わせたいと考えています。また、から重複を削除する必要がありarrayます。これについてあらゆるロジックを試しましたが、これを行うことができませんでした。これの論理で私を助けることができる体はありますか?コードに従ってください。ただし、重複も削除する必要があります。

for (int i = 0; i < [array count]; i++) {
  for (int j = 0; j < [array count]; j++)  {
    if ([[[array objectAtIndex:i]firstWord] isEqualToString:[[array objectAtIndex:j] firstWord]]) {

      if ([[array objectAtIndex:i] frequency] < [[array objectAtIndex:j] frequency]) {
        CustomWordFrequency *word = [array objectAtIndex:i];
        word.frequency = [[array objectAtIndex:j] frequency];
        [array replaceObjectAtIndex:i withObject:word];
      }

    }
  }
}
4

2 に答える 2

0
NSMutableArray *combinedArray = [[NSMutableArray alloc] init];
BOOL flagForMatchFound = FALSE;
for(CustomWordFrequency *firstWord in firstArray)
 {
   flagForMatchFound = FALSE;
   for(CustomWordFrequency *secondWord in secondArray)
   {
       if([firstWord.firstWord isEqualToString:secondWord.firstWord])
       {
          if(firstWord.frequency >= secondWord.frequency)
          {
               [combinedArray addObject:firstWord];
               flagForMatchFound = TRUE;
          }
          else
               [combinedArray addObject:secondWord];
       }
       else
       {
          if(!flagForMatchFound)
              [combinedArray addObject:secondWord]; 
       }
   }
 }
于 2013-06-09T18:08:39.190 に答える