arrays - 如果数组被展平,我如何知道多维数组中项目的索引是什么?

标签 arrays swift multidimensional-array

我有一个多维数组,最深层有一些重复的元素:

[
    ["taco","burrito"],
    ["chalupa","taco","bread"]
    ["pizza","lasagna"],
    ["pizza","taco","burrito"]
    ["salad","sandwich"],
    ["meat","turkey"]
    ["cups","chicken"],
    ["rabbit","taco", "chicken", "salad"]
]

我已将这个数组展平为...

[
    "taco",
    "burrito",
    "chalupa",
    "taco",
    "bread",
    "pizza",
    "lasagna",
    etc...
]

我在多维数组中找到了单词“taco”的第二次出现,并且知道它的索引。

如何将该索引转换为展平数组中的索引?

所以在这个例子中它将是......

multiDimensionalArray[0][1][1]

=

flatArray[3]

最佳答案

Swift 本身不支持展平数组。您可以自己推出此功能,也可以使用 ExSwift其中有一个展平方法。如果成功展平数组,显然您可以使用 indexOfObject 确定该值位于哪个索引。 。由于您有多个相同的对象,您可能需要使用 indexesOfObjectsPassingTest ,这将为您提供与您提供的测试匹配的所有索引的索引集。

关于arrays - 如果数组被展平,我如何知道多维数组中项目的索引是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28725805/

相关文章:

arrays - ArrayList 未按 groovy Arrays.sort() 排序

python - 读取 CSV 文件并将其插入 python 中的二维列表

c - const 数组变量的运行时异常

arrays - Swift 如何实现 Array 的写时复制行为?

ios - 添加新内容并刷新 UITableView 会在 Swift 中卡住我的应用程序几秒钟

ios - 从 NSTimer 调用静态方法。可能吗?

c++ - C++ 中 3 维数组的重新分配

java - For-each并分配给二维数组Java

javascript - jQuery - 数组元素作为选择器

swift - 需要 UnsafeMutablePointer<Type> 的函数!