arrays - 在Swift 3中从字典中的数组中检索随机项

原文 标签 arrays swift dictionary arc4random

我几个月来一直在努力解决这个问题,最终到了我觉得需要寻求帮助的地步。

最终,我试图对从我的字典返回的键进行随机化,然后对从其值返回的值进行随机化。

我的字典是:

var kbDirectory: [String: [String]] = ["Squat": ["4 x 10", "3 x 15", "3 x 20"],
                                   "Deadlift": ["4 x 10", "3 x 15", "3 x 20"],
                                   "2 Handed Swing":["4 x 10", "3 x 15", "3 x 20"],
                                   "Press Up":["4 x 10", "3 x 15", "3 x 20"],
                                   "Pull up":["4 x 10", "3 x 15", "3 x 20"]]


我已经尝试了多次,并尝试从各种来源学习,但似乎并没有做到正确。任何答案或指向正确方向的搜索/学习将不胜感激。

干杯!

最佳答案

let randomIndex = Int(arc4random_uniform(UInt32(kbDirectory.count)))
let dictValues = Array(kbDirectory.values)
let randomArray = dictValues[randomIndex]
let randomArrayIndex = Int(arc4random_uniform(UInt32(randomArray.count)))
let randomValue = randomArray[randomArrayIndex]

相关文章:

python - 将元组分配和修改为Python字典键的值

python - Kotlin:加载包含文件中的字符串和元组的字典(哈希图)

javascript - 如何在JavaScript中清空数组? [重复]

ios - 如何在字典数组中搜索元素?

swift - 如何从尺寸创建矩形?

python - 如何概括文件功能以打开参数中提供的尽可能多的文本文件?

python - 在Python中计算数组的余弦值

javascript - 使用Javascript和Angularjs创建数组的子集

ios - 在UIWebView上方覆盖一个刷新按钮

iphone - 如果我们在真正的预提交处理程序中,由于CA限制,我们实际上无法添加任何新的围栏 - 这可能意味着什么吗?