HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 数组的数组.仅存储副本大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要存储一个Int数组的数组,用于有序重复(在Array中).

例:

>给定数组:@H_951_5@mainArray = [7,7,3,2,1,5,5]

现在我需要创建一个int数组的数组.
例:

Array [][] = [
               [7,7],[3],[2,2],[1],[7],[5,5]
             ]

这是我有的:

for var i = 0; i < val.count; i++ {
    var columnArray = Array<Int>()
    for var j in 0...9 {
        if oldNum == val[j]{
            columnArray.append(val[j])
        }
        else {
            array.append(columnArray);
            //j += 1
            break;
        }
        oldNum = val[j];
        j += 1
    }
}

解决方法

您可以使用reduce方法.
let result = numbers.reduce([[Int]]()) { (var result,num) -> [[Int]] in
    if var lastSequence = result.last where lastSequence.first == num {
        result[result.count-1].append(num)
    } else {
        result.append([num])
    }
    return result
}

减少工作如何?

reduce将封闭中的逻辑应用于空的2D数组的整数([[Int]])和数字的第一个elm.

然后再次应用上一次迭代的结果和第二个整数数组…等等.

封闭中发生了什么?

if是否检查在结果中添加的最后一个数组中的数字是否等于当前检查的整数.如果这样,那个整数被添加到该数组.

否则,只会添加一个仅包含新整数的数组.

测试

[[7,5]]

大佬总结

以上是大佬教程为你收集整理的ios – 数组的数组.仅存储副本全部内容,希望文章能够帮你解决ios – 数组的数组.仅存储副本所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。