MST

星途 面试题库

面试题:Objective-C中如何实现简单的函数式编程示例

请用Objective-C代码示例展示如何使用block来实现一个简单的函数式编程场景,比如对一个数组中的所有元素进行平方运算,并返回新的数组。
46.6万 热度难度
编程语言Objective-C

知识考点

AI 面试

面试题答案

一键面试
#import <Foundation/Foundation.h>

NSArray *squareArray(NSArray *array) {
    NSMutableArray *resultArray = [NSMutableArray array];
    [array enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
        NSNumber *number = obj;
        NSNumber *squaredNumber = @([number doubleValue] * [number doubleValue]);
        [resultArray addObject:squaredNumber];
    }];
    return resultArray;
}

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSArray *originalArray = @[@1, @2, @3, @4];
        NSArray *squaredArray = squareArray(originalArray);
        NSLog(@"%@", squaredArray);
    }
    return 0;
}