簡體   English   中英

如何檢查NSMutableArray中是否已經存在一個值?

[英]How to check is a value already exist in NSMutableArray?

我正在生成隨機數並將其添加到數組。 但是我不希望重復出現。 如何檢查數組中是否已存在該值? 謝謝!

int lowerBound = 0;
int long upperBound = numberOfQuestions;
int randomQuestionNumber = lowerBound + arc4random() % (upperBound - lowerBound);
[_randomQuestionNumberArray addObject:[NSDecimalNumber numberWithInt:randomQuestionNumber]];

聽起來像是NSMutableOrderedSet的完美用例如果訂購不重要,那么NSMutableSet是最好的選擇


您還應該使用arc4random_uniform而不是arc4random %來減少模偏差

最常見的方法是簡單地用所有可能的值填充數組,然后重新排列數組。 請參見洗牌NSMutableArray的最佳方法是什么?

您可以使用

BOOl isFound = [_randomQuestionNumberArray containsObject:object];
int lowerBound = 0;
int long upperBound = numberOfQuestions;
int randomQuestionNumber = lowerBound + arc4random() % (upperBound - lowerBound);
NSDecimalNumber *currentNumber = [NSDecimalNumber numberWithInt:randomQuestionNumber];
if (![_randomQuestionNumberArray containsObject:num]) {
    [_randomQuestionNumberArray addObject:num];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM