【问题标题】:Split array into groups of different sizes将数组拆分为不同大小的组
【发布时间】:2020-08-10 13:48:07
【问题描述】:

我需要将一个数组分成不同大小的组。

let objects = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]

let sizes = [3,2,4]

输出应该是 [[1,2,3], [4,5], [6,7,8,9], [10,11,12], [13,14], [15]]

实现这一目标的最简单方法是什么?

【问题讨论】:

  • 到目前为止你尝试了什么?
  • @mag_zbc 我知道如何将数组拆分为相同大小的组,并且能够毫无问题地做到这一点,但我还没有设法找到将数组拆分为组的方法不同大小的...这就是为什么我要问如何做到这一点。
  • @JamesAnderson 我认为您的问题没有任何问题。但是,它可能会被否决,因为您自己没有尝试任何事情(或者至少没有证明这一点)并且只是期待答案。

标签: ios arrays swift


【解决方案1】:

这不是您问题的确切解决方案,但是要将数组拆分为不同的大小,您可以使用以下内容:

  var index = 0
  var count = 0

for size in sizes{
    let newArray = objects[index..<size+index]
    index = count > 0 ? size + sizes[count-1] : size   //index = 3
    count = count + 1
    print(newArray)
}

这会将数组拆分为不同大小的组。您可以修改代码以完成所有数组元素。这基本上在大小数组上循环一次。

【讨论】:

  • @Alexander-ReinstateMonica 我不明白这个问题有什么问题?在发布此之前,我花了两个小时浏览 Stack Overflow 以尝试找到解决方案。显然我找不到任何可以为我指明正确方向的东西,这就是我问这个问题的原因。
  • “很明显,我找不到任何可以为我指明正确方向的东西” 实际上,这根本不清楚。也许最常被问到的 Swift 问题是经典的“Unexpectedly found nil while unwrapping an optional value”。 Searching StackOverflow for that phrase 提供 4,339 次匹配! “OP 发布了一个问题,因此 OP 肯定做了他们的背景研究”的前提甚至不接近真实。如果你做了背景调查,那就太好了!你应该在你的问题中分享它
  • @JamesAnderson 在组织像 SO 这样的免费帮助在线资源方面存在巨大的组织困难。至少,这里的社区期望一些背景努力的示范和自助服务的尝试。如果您查看 [swift] 标签(或者这里的大多数标签,老实说),您会看到不断涌入的人发布“为我做我的工作”问题,期望这个网站是某种免费的代码咨询服务。为了与这些人区分开来,您需要展示您 2 小时的研究成果
猜你喜欢
  • 2020-09-16
  • 2021-06-23
  • 2010-12-09
  • 2021-03-28
  • 1970-01-01
  • 2020-10-22
  • 2018-10-22
  • 1970-01-01
  • 2018-01-09
相关资源
最近更新 更多