【问题标题】:Counting end value of multiple arrays - swift计算多个数组的结束值 - swift
【发布时间】:2016-10-05 16:57:51
【问题描述】:

我很难找出如何计算多个数组的结束值。举个例子吧:

这里有四个数组:

let numberOne: [string] = ["...", "...", "car"]
let numberTwo: [string] = ["...", "...", "bike"]
let numberThree: [string] = ["...", "...", "car"]
let numberFour: [string] = ["...", "...", "car"]

假设这些是我的数组。不过不知道每次有多少个数组,可以在1到14之间。

我如何显示有多少数组包含结束值,例如,car

希望你能帮助我:-)

【问题讨论】:

  • 所以您总是在代码中为 14 个数组声明 14 个变量,而在运行时您的应用程序使用 1 个和所有这些变量?我理解正确吗?只是为了确定。
  • 是的,完全是@EricAya .. 我的意思是基于正在使用的变量的数量

标签: ios arrays swift


【解决方案1】:

一种方式:

func countLastEelement(){
    let numberOne: [String] = ["...", "...", "car"]
    let numberTwo: [String] = ["...", "...", "bike"]
    let numberThree: [String] = ["...", "...", "car"]
    let numberFour: [String] = ["...", "...", "car"]

    let numbers:[[String]] = [numberOne, numberTwo, numberThree, numberFour]

    var count:Int! = 0

    for number in numbers {
        if number[number.count-1] == "car" {
            count = count + 1
        }
    }
    print(count) // output: 3
}

另一个:

for number in numbers {
    if number.last == "car"{
        count = count + 1
    }
}

【讨论】:

  • 太好了!正是我想要的:-)
  • 有一个问题。有时像上面的例子会有四个数组,但我不知道每次会有多少个数组。例如,如果我删除 numberFour,那么我当然会出错。有没有办法做到这一点?
  • 显示更多代码以获得帮助。如何创建数组,数据来自哪里?
  • 用户创建数据。无论用户想要做什么,添加 1 到 14 个数组。
  • @Mr.UB 请注意,您不需要在此处使用隐含的未包装可选:var count:Int! = 0。 :)
【解决方案2】:

这更像是一个伪代码而不是一个确切的例子,可能存在语法问题。但这将为您提供字典、计数和任何给定最后一个元素的选择数组。这可能有点矫枉过正,但你并没有准确地说出你想要什么,所以我决定尽可能多地获取数据。

var arraySet : [Array] = [[]] //Your set of arrays
var unique : [String:[Array]] = [:]
for array in arraySet{
    if(unique[array.last] == nil)
    {
        unique[array.last] = [array]
    }
    else
    {
        unique[array.last] += [array]
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-05
    • 1970-01-01
    • 1970-01-01
    • 2015-09-11
    相关资源
    最近更新 更多