use this both :
obj = Math.max.apply(Math,data.map(function(o){return o.partsCount;}));
Array.prototype.max = function() {
return Math.max.apply(null, this);
};
Желание этого в приложении Какао часто является признаком слабого дизайна.
NSArray
является неизменным, поэтому он не будет «брать указатель на какой-либо объект» и, вероятно, уже содержит правильные объекты при передаче вам. Я предполагаю, что вас больше беспокоит, это NSMutableArray
, где вы думаете, что другие части вашего кода могут добавить неправильный вид объекта. Но взгляните на само Какао; невероятно редко можно представить изменяемый массив как часть дизайна класса.
Вместо этого вы обычно предоставляете NSArray
и пару методов для изменения этого массива. Что-то вроде следующего:
@class Foo : NSObject
- (NSArray *)bars;
- (void)addBar:(Bar *)bar;
- (void)removeBar:(Bar *)bar;
@end
Это обычно останавливает вставку неправильных объектов просто при наличии предупреждения компилятора, и тогда, конечно, вы можете добавить утверждения в -addBar:
Objective-C не поддерживает универсальное программирование. Вы всегда можете использовать Objective-C ++ и список STL.