【发布时间】:2017-08-29 01:37:27
【问题描述】:
我的操场上有以下代码:
let array = [3,3]
let first = array.first!
let last = array.last!
let indices = [array.index(of: first)!, array.index(of: last)!]
print(indices) // This prints [0,0]
我知道“index(of:)”方法只是从数组中抓取第一个匹配的实例,这样效率更高,但我想知道是否有一种方法可以根据以下事实来抓取最后一个索引我从“array.last”中得到了值。
另外,如果我有以下情况:
let lotsOfThrees = [3,3,3,3,3,3,3]
let fourthThree = lotsOfThrees[3]
// Write code to return the index of "fourthThree" (possibly based on memory address)
我想知道是否有办法根据内存地址执行此操作,但老实说不确定。
【问题讨论】:
-
我不明白你想做什么; “fourthThree”的索引是
3- 你已经有了。同样,在您的第一个代码中,前 3 个的索引是0,最后一个的索引是array.count-1。3是一个值,所以数组中没有具体的“3”;它们都是一样的。 -
嗯,我想知道是否有办法将参考文献联系在一起。就像我执行一些其他操作,或者将这些值传递给一个函数,因此我不知道“fourthThree”是索引 3,我只知道它是一个带有一些内存地址的 3。有没有办法将它与“lotsOfThrees”数组中的第四个对象相关联。最好带有库功能。我基本上想知道是否有任何库函数可以让我传回 array.last 并将其与 array.first 区分开来,如果它们具有相同的值
-
你为什么需要这个?你实际上想用这个解决什么问题?
-
我正在尝试实现一种解决方案,该解决方案将处理已排序或未排序的数组以解决“双和”问题。当有重复值时,我需要返回值的不同索引。
-
我不明白为什么你需要使用
indexOf来解决二和问题
标签: arrays swift memory collections