arrays - 如何完全遍历数组?

标签 arrays swift

我有以下代码,我试图根据 ChaptersToRead 打印出 booksAssigned 和 booksAssignedDue

var books:[String] = ["Hobbit","LOTR","Fellowship"]
var chaptersToRead:[[Int]] = [[1],[1,2],[2]]

var booksAssigned:[String] = []
var booksAssignedDue:[String] = []

for (index, chapters) in chaptersToRead.enumerated() {
    if chapters.contains(1) {
        booksAssigned.append(books[index])
    }
    else
    {
        booksAssignedDue.append(books[index])
    }
}

我期望的输出是这样的

print(booksAssigned) = ["Hobbit","LOTR"]
print(booksAssignedDue) = ["LOTR","Fellowship"]

但是我明白了

print(booksAssigned) = ["Hobbit","LOTR"]
print(booksAssignedDue) = ["Fellowship"]

我做错了什么?

最佳答案

试试这个:

for (index, chapters) in chaptersToRead.enumerated() {
    if chapters.contains(1) {
        booksAssigned.append(books[index])
    }
    //You should not use `else` here.
    if chapters.contains(2) {
        booksAssignedDue.append(books[index])
    }
}

如果在marked处使用else,则添加到booksAssigned的书不能添加到booksAssignedDue

关于arrays - 如何完全遍历数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41320740/

相关文章:

arrays - NodeJS/MongoDB - 将数组中的值与登录用户的值进行匹配

python - Numpy 数组切片期间的行与列向量返回

ios - 保存到 CoreData 的文件路径,但 NSData 仅在第一次调用时有效

macos - 基于 NSTableview View 的滚动性能

java - 显示数组时数组元素给出 null 和 0

c - 从文件读取并存储到C中的二维数组中

javascript - 如何在ajax中获取数组的值

php - 在数据库 PHP 上存储多个文件

swift - 二元运算符 '>' 不能应用于类型 '(String?)' 和 'String?' 的操作数

ios - Firebase 商店提供商照片网址(无法转换 NSURL 类型的值?)