arrays - 从另一个具有索引的数组更改数组字符串值
问题描述
我试图在改组另一个数组后更改数组中的字符串值,我该怎么做?
例子:
var array1 = [1,2,3,4,5,6]
var stringarray = ["\\(array1[0]) = 1")
array1.shuffle()
print(stringarray)
我如何将原始 stringarray 值更改为新的洗牌值?
谢谢
任务:
@IBAction func nextQuestion(_ sender: Any) {
if levelSelected == 1 {
questionLabel.text = standardRules.randomElement()
}
players.shuffle()
print(players)
standardRules 有一个字符串值,它采用 player[0] 的值
基本上我想要做的是:
我正在尝试在这样的字符串中获取 2 个不同的随机值
var players = ["Jack, John, Michael, Peter"]
var playersArray = ["\(players.randomElement) and \(players.randomElement) has to battle")
我该怎么做,所以它可以获取 2 个不同的值?
解决方案
看起来您缺少 Swift 语言的一些核心概念。当您创建时stringarray
,它会调用array1.description
并将结果存储到数组中。从那时起,对原始数组的任何修改都不会改变stringarray
.
因此,如果您想从一个数组中选择两个不同的玩家,您需要执行以下操作:
let index1 = Int.random(in: (0 ..< players.count))
var index2: Int
repeat {
index2 = Int.random(in: (0 ..< players.count))
} while index1 == index2
let matchText = "\(players[index1]) and \(players[index2] has to battle)"
推荐阅读
- python - 安装 npm 组件时出现 Python 语法错误
- reactjs - 如果客户端无法读取文件,如何在 axios 中加载 https 证书?
- node.js - 从过去的意图访问参数 Dialogflow Fulfillment
- sql - 隐藏 row_number() 列
- html - 响应式网格图像查看 3 张图像
- connection - 连接数 0 不满足要求的最小值 1
- python - 尽量避免使用 for 循环来提升 Python 代码
- javascript - 使用 Firebase 时如何保护客户端源
- angular - 获取 SyntaxError:Electron Webview 中的意外标记
- authentication - IdentityServer(来自 JS SPA 客户端 pov)等授权服务器中的查询参数中的 Code Сhallenge 是什么?