以同样的方式随机化两个数组 Swift

2023-12-01

我知道有一种新的随机播放方法iOS 9但我想知道是否有办法以相同的方式对两个数组进行洗牌?

例如

[1,2,3,4] and [a,b,c,d]
shuffle
[3,4,1,2] and [c,d,a,b]

使用shuffle()方法来自如何在 Swift 中打乱数组?以及来自的想法如何根据另一个数组的排序顺序对多个数组进行排序你可以打乱数组indices然后重新订购两个(或多个) 相应的数组:

let a = [1, 2, 3, 4]
let b = ["a", "b", "c", "d"]

var shuffled_indices = a.indices.shuffle()

let shuffled_a = Array(PermutationGenerator(elements: a, indices: shuffled_indices))
let shuffled_b = Array(PermutationGenerator(elements: b, indices: shuffled_indices))

print(shuffled_a) // [3, 1, 2, 4]
print(shuffled_b) // ["c", "a", "b", "d"]

Swift 3 (Xcode 8) 更新: PermutationGenerator才不是 Swift 3 中不再存在。 使用shuffled()方法 从随机排列数组 swift 3同样可以通过以下方式实现

var shuffled_indices = a.indices.shuffled()

let shuffled_a = shuffled_indices.map { a[$0] }
let shuffled_b = shuffled_indices.map { b[$0] }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以同样的方式随机化两个数组 Swift 的相关文章

  • 检查定位服务是否开启

    我一直在对 CoreLocation 进行一些研究 最近 我遇到了一个在其他地方 但在 Objective C 和 iOS 8 中 已经讨论过的问题 我觉得问这个问题有点傻 但是如何在 iOS 9 上使用 swift 检查是否启用了位置服务
  • SwiftUI 列表与右侧的部分索引?

    是否可以有一个在右侧有索引的列表 就像下面 SwiftUI 中的示例一样 我在 SwiftUI 中做了这个 Contacts swift TestCalendar Created by Christopher Riner on 9 11 2
  • 使用 iOS 8 自定义键盘发送图像?

    我一直在为 iOS 8 开发自定义键盘 但在尝试使用键盘发送图像时偶然发现了一个问题 我做了一些研究 似乎没有一种简单的方法可以做到这一点UITextDocumentProxy因为只有NSStrings被允许 我是否忽略了使用自定义键盘发送
  • 如何使用 NSUserDefaults 在 Swift 中存储自定义类的数组?

    我有一个名为的自定义类Person当某人输入信息时 它会存储有关某人的各种属性 class Person Person dictionary variable var name String var age String var html
  • UIButton的高亮状态由什么控制事件开始和结束

    我正在创建类似钢琴的视图UIButton作为钢琴键 什么UIControlEvents当按钮获得和失去突出显示状态时 我应该监听以获得回调吗 我试图创建子类UIButton并添加属性观察者highlighted并且运行良好 然而 有时我需要
  • Firebase 身份验证问题 - 通过电子邮件地址检查用户是否存在

    我在 Firebase 上创建了一个帐户 它有效 但现在我想阻止人们使用已存在的电子邮件地址创建帐户 这是代码 DatabaseManager shared userExists with email completion weak sel
  • 根据 iOS 版本使用不同的类实现?

    iOS 11 最近添加了一个我想使用的新功能 但我仍然需要支持旧版本的 iOS 有没有一种方法可以将同一个类编写两次 并让较新版本的 iOS 使用该类的一个版本 而旧版本的 iOS 使用另一个版本 注 最初我用的是if available
  • 从未调用过交互式委托方法

    我想在 ViewController 1 和 NavigationViewController 2 之间进行交互式转换 NavigationController 通过按钮调用 因此呈现时没有交互转换 它可以通过按钮或 UIPanGestur
  • Swift:设置协议的可选属性

    如何设置协议的可选属性 例如 UITextInputTraits 有许多可选的读 写属性 当我尝试以下操作时 出现编译错误 无法分配给 textInputTraits 中的 keyboardType func initializeTextI
  • 我的 UICollectionView 无法使用 Swift 平滑滚动

    我有一个CollectionView它使单元出队取决于message类型 例如 文本 图像 我遇到的问题是当我向上 向下滚动时滚动确实很不稳定 因此用户体验不是很好 这仅在第一次加载单元格时发生 之后滚动就会平滑 我有什么想法可以解决这个问
  • 在 SwiftUI 中使用可观察对象切换视图

    我正在练习尝试使用 SwiftUI 中的可观察对象切换视图 但我的代码无法正常工作 我知道我可以用 State 来做到这一点 但我想用可观察的对象来实现这一点 当我单击内容视图中的图像时 图像不会改变 有人能帮我吗 内容视图 swift i
  • 在 Object 子类及其自己的子类上实现ignoreProperties()

    我是领域新手 我正在使用继承自 Object 的基类以及该基类的自定义子类创建模型 我的模型要求基类通过覆盖静态来声明一些属性被忽略ignoredProperties 方法 当尝试在某些基类子类上重写该方法时 我收到一个 Swift 编译器
  • Fitbit oauth2 公共 API 停止工作。给出错误 - 抱歉,这不是你..是我们

    几个月前 我准备了一个关于 Fitbit oauth2 公共 API 的演示 其中我使用特定用户登录并获取他的活动 一切正常 但最近 我打开演示并尝试使用同一用户登录 但它没有登录并反复出现此错误 我尝试更改在 Fitbit 上注册的演示应
  • Swift:二元运算符“==”不能应用于“协议”类型的操作数

    我有一个协议 protocol ProfileManagerDelegete func dataHaveUpdated type ReturnType 并创建一个协议数组 并添加 删除侦听器 var listeners ProfileMan
  • 如何在不使用 ctrl-d 的情况下退出 swift repl?

    I want to quit swift repl gracefully and not use ctrl d to exit it 例如 python repl 可以通过输入退出exit 有类似的方法可以退出 swift repl 吗 这
  • 在 Swift 中, ! 是什么意思?函数签名中的符号是什么意思?

    在 Swift 函数签名中 什么是 争论后暗示 更具体地说 这是否意味着参数需要在传入之前解开 或者在传入时 自动 解开 这是一个示例 func annotationButtonTUI sender UIButton 在这种情况下 该函数是
  • Swift 2.0:协议扩展:具有相同函数签名的两个协议编译错误

    鉴于这两个协议及其扩展 protocol FirstDelegate func someFunc protocol SecondDelegate func someFunc extension FirstDelegate func some
  • 使用 swift,是否可以访问辅助功能中的反转颜色功能?

    苹果已经在手机中添加了一般 gt 辅助功能 gt 反转颜色的功能 我可以以某种方式在我的程序中使用它 例如当用户触摸屏幕时颜色反转吗 我不知道有什么方法可以自动执行此操作 但您可以使用 UIColor 上的扩展并访问子视图自行反转颜色 ex
  • 更改iOS11中的UISearchBar背景图片

    我想更改我的 UISearchBar 背景图像 当将它添加为我的 UITableView 中的标题视图时 它工作得很好 但是 当我想更改它以将 SearchBar 设置为 navigationItem 的 searchController
  • Xcode - 调试视图层次结构

    我正在尝试调试应用程序的视图层次结构 Xcode 窗口的左侧窗格中出现了一个紫色的小方块 请参见屏幕截图 知道这个问题可能是什么吗 好吧 我找到了这个问题的根源 这是一个约束问题

随机推荐

  • Azure 服务结构实例计数

    我正在使用 azure 服务结构开发 POC 将我的服务部署在本地集群中 并且在 Local xml 中的默认设置下运行良好 当我更改实例计数时 它会抛出以下异常 更改实例计数的选项在哪里 基本上我现在正在尝试在两个节点上运行我的服务 当默
  • 使用正则表达式进行 Spark 过滤

    我试图将文件数据过滤为每个日期的好数据和坏数据 因此将得到 2 个结果文件 从测试文件中 前 4 行需要输入良好的数据 最后 2 行需要输入错误的数据 我有 2 个问题 我没有得到任何好的数据 结果文件为空 错误的数据结果如下所示 仅选取名
  • 没有 exec 的 fork,以及共享对象使用的 pthread_mutex_t

    我正在处理一个执行以下操作的网络服务器项目fork没有exec 该程序依赖于OpenSSL 而OpenSSL需要一定数量的锁 CRYPTO NUM LOCKS准确地说 目前约为40 锁通常是pthread mutex t在 Linux 上
  • 在 bash 脚本中使用 screen

    我正在远程服务器上运行游戏服务器 我使用独立的屏幕实例使其保持运行 我现在正在创建一个脚本 可用于关闭服务器 备份所有重要文件并再次启动它 但是我在处理屏幕时遇到了一些困难 我假设我可以通过在脚本中调用 screen r 来切换到脚本中的分
  • LINQ 按日期降序对对象集合进行排序

    我有一堆对象 产品 我想先按创建日期降序对它们进行排序 然后只显示前 10 条记录 创建日期 DateTime 的格式如下 4 4 2007 12 00 00 AM 这是我尝试过的 如何按日期降序排列前 10 名 var productLa
  • 将带有复合键/外键的表映射到该表

    我正在尝试映射具有组合键的表并映射引用该表的另一个表 假设这些表 ITEMDELIVERY with relevant columns ITEMDELIVERY ID DELIVERY DATE ITEMDELIVERYDETAIL wit
  • jQuery 中的 jQuery() 函数有什么作用?

    In 这个视频有一段代码是这样的 if jQuery jQuery function 我从未见过jQuery 之前的函数 话又说回来 我不是一个精明的 jQuery 用户 它有什么作用 它是默认随 jQuery 一起发布还是特定于IxEdi
  • 在 Android SDK 管理器中找不到支持包

    我需要支持包 jar 文件 我打开了页面http developer android com sdk compatibility library html Downloading并按照他们所说的去做 启动 SDK 和 AVD 管理器 在 E
  • 无法使用状态值作为子组件的 props

    在我的 React js 应用程序中 我似乎无法使用状态值作为子组件的道具 在父组件中 constructor 应用程序有一个称为空状态selectedWarehouseID 这种状态 selectedWarehouseID 应该更新一些信
  • 如何打开特定相册或文件夹的默认图库应用程序?

    我在网上找到的每个例子都是打开图库并从图库中获取图像作为结果 我的需要是我不想将结果或图像添加到我的应用程序中 我只想触发图库应用程序来显示特定的图像文件夹 我的应用程序有单独的文件夹来保存图像 我需要将用户直接导航到该路径 试试这个代码
  • 在 Jscript 中获取给定用户的特殊文件夹路径

    如何获取当前用户以外的特定用户的 shell 文件夹 例如 本地设置 或 本地应用程序数据 的路径 虽然有一些方法可以在 Windows Script Host 中获取特殊文件夹路径 WshShell SpecialFolders and
  • odeint 简单一维 ode 示例无法编译

    我试着跑指定示例在 Debian Squeeze g 4 4 上的 boost 1 54 0 中 洛伦兹系统工作正常 但是简单的一维颂歌 include
  • VB.Net默认表单实例

    我已替换 正则表达式 所有对默认表单实例在我的项目中 我现在想确保我不再使用默认实例 似乎默认实例功能无法禁用 不改变类的ctor 任何人都知道如何在 VB Net 中查找默认表单实例的所有用法 或者 使用类名访问非共享成员 仅供参考 我正
  • 使用 python Flask 从数据库中删除行?

    我正在使用 Flask 框架 似乎无法从数据库中删除行 下面的代码给出了 405 错误 所请求的 URL 不允许使用该方法 有任何想法吗 在py中 app route delete
  • 如何在 jquery 中包含 !important

    我正在尝试使用 jQuery 在 css 属性中添加 important tabs css height 650px important 但是 important 没有效果 如何在 jquery 中包含 important 显然可以在 jQ
  • 运算符重载:无法添加两个指针

    我创建了一个 Fraction 类 它具有用于在两个 Fraction 对象之间进行加 减 乘和除的成员函数以及所需的默认构造函数和复制构造函数 对于这个问题 我必须使用指针 不能使用向量 因为只有用户选择才能创建 Fraction 对象
  • GatsbyJS 与 Firebase - WebpackError:ReferenceError:IDBIndex 未定义

    我收到错误盖茨比发展 它与这个非常相似 https github com firebase firebase js sdk issues 2222 但我收到错误盖茨比发展 而不是盖茨比构建 我做了很多研究 但找不到有效的解决方案 起初我有一
  • MySQL 内连接查询语法错误

    我是一个 MySQL 新手 无法弄清楚这里出了什么问题 我有两张桌子 左表称为 锻炼 相关列是date 输入日期 和id 类型 int 右表称为Workout locations 相关领域 workout id type int and l
  • 通过撰写导航传递 Parcelable 参数

    我想传递一个可分割的对象 BluetoothDevice 使用组合导航转换为可组合项 传递原始类型很容易 composable profile userId arguments listOf navArgument userId type
  • 以同样的方式随机化两个数组 Swift

    我知道有一种新的随机播放方法iOS 9但我想知道是否有办法以相同的方式对两个数组进行洗牌 例如 1 2 3 4 and a b c d shuffle 3 4 1 2 and c d a b 使用shuffle 方法来自如何在 Swift