Open developforapple opened 8 years ago
shuffle 方法可不可以拿来从数组中取一定数量的随机内容? 先洗牌,再取前N个。这样取得的内容符不符合随机的要求?
NSArray *originArray = ......; NSMutableArray *tmp = [NSMutableArray arrayWithArray:originArray]; [tmp shuffle]; NSUInteger count = 10; NSArray *randomArray; if (tmp.count >= count) { randomArray = [tmp subarrayWithRange:NSMakeRange(0, count)]; }else{ randomArray = tmp; }
如须保证随机元素的单一性,可以这样做。如果不需要,可以用randomObject来加到数组。
shuffle 方法可不可以拿来从数组中取一定数量的随机内容? 先洗牌,再取前N个。这样取得的内容符不符合随机的要求?