最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何在Swift中不使用".reverse()"来反转数组?

SEO心得admin60浏览0评论
本文介绍了如何在Swift中不使用".reverse()"来反转数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有数组,需要使用for循环而无需Array.reverse方法将其反转.

I have array and need to reverse it without Array.reverse method, only with a for loop.

var names:[String] = ["Apple", "Microsoft", "Sony", "Lenovo", "Asus"]

推荐答案

这是@Abhinav的答案翻译为 Swift 2.2 :

Here is @Abhinav 's answer translated to Swift 2.2 :

var names: [String] = ["Apple", "Microsoft", "Sony", "Lenovo", "Asus"] var reversedNames = [String]() for arrayIndex in (names.count - 1).stride(through: 0, by: -1) { reversedNames.append(names[arrayIndex]) }

使用此代码不应为您提供关于不赞成使用C样式for循环或使用--的任何错误或警告.

Using this code shouldn't give you any errors or warnings about the use deprecated of C-style for-loops or the use of --.

快捷键3-当前:

let names: [String] = ["Apple", "Microsoft", "Sony", "Lenovo", "Asus"] var reversedNames = [String]() for arrayIndex in stride(from: names.count - 1, through: 0, by: -1) { reversedNames.append(names[arrayIndex]) }

或者,您可以正常遍历并每次减去:

Alternatively, you could loop through normally and subtract each time:

let names = ["Apple", "Microsoft", "Sony", "Lenovo", "Asus"] let totalIndices = names.count - 1 // We get this value one time instead of once per iteration. var reversedNames = [String]() for arrayIndex in 0...totalIndices { reversedNames.append(names[totalIndices - arrayIndex]) }
发布评论

评论列表(0)

  1. 暂无评论