Objective c 从阵列中删除一个嵌套的NSArray(目标c)

Objective c 从阵列中删除一个嵌套的NSArray(目标c),objective-c,nsarray,Objective C,Nsarray,我在myArray中有以下模式: myArray[0][0] = "28.04" myArray[1][0] = "21.12" myArray[2][0] = "12.33" 我想要这样: myArray[0] = "28.04" myArray[1] = "21.12" myArray[2] = "12.33" 您需要一个名为flatmap的高阶函数 - (NSArray *)flatMap:(id (^)(id obj))block { NSMutableArray *muta

我在myArray中有以下模式:

myArray[0][0] = "28.04"
myArray[1][0] = "21.12"
myArray[2][0] = "12.33"
我想要这样:

myArray[0] = "28.04"
myArray[1] = "21.12"
myArray[2] = "12.33"

您需要一个名为flatmap的高阶函数

- (NSArray *)flatMap:(id (^)(id obj))block {
    NSMutableArray *mutableArray = [NSMutableArray new];
    [self enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
        id _obj = block(obj);
        if ([_obj isKindOfClass:[NSArray class]]) {
            NSArray *_array = [_obj flatMap:block];
            [mutableArray addObjectsFromArray:_array];
            return;
        }
        [mutableArray addObject:_obj];
    }];
    return mutableArray;
}

这是如何回答这个问题的?也许您应该演示如何使用
flatMap
方法来回答问题。你应该澄清一下,这个方法是NSArray类的一部分。Flatmap是一个函数式编程的东西,它是一个通用的概念。既然Objective-C没有这个功能,您应该自己实现它。但这在现代语言中非常常见,如Swift、JavaScript、C#等等。请参考此url:您需要更新您的答案,以显示如何使用此
flatMap
方法来解决问题。否则,这根本没有帮助。您甚至没有在
NSArray
上声明它是一个category方法。