我有我的代码在下面,我试图创建新的数组,每当用户添加一本书时,元素中的数字加1。例如,当用户已经有1本书加时,他又增加了一个数组应为["bookTitle2,"bookAuthor2", "bookPublisher2", "bookNumOfPages2"]
如何在同一个数组中添加具有相同结束数的元素? (Swift 3)
let bookDetails = ["bookTitle", "bookAuthor", "bookPublisher", "bookNumOfPages"]
var bookDetail = ""
var bookNumber = Int()
var bookNumArray = [Int]()
if bookNumArray.contains(bookNumber) {
print("Book already exists")
} else {
while bookNumber < 2 {
bookNumber += 1
bookNumArray.append(bookNumber)
for detail in bookDetails {
bookDetail = "\(detail)" + String(bookNumber)
let newBookArray = [bookDetail]
print(newBookArray)
}
}
}
当我运行上面的代码,这反而说明了:
["bookTitle1"]
["bookAuthor1"]
["bookPublisher1"]
["bookNumOfPages1"]
["bookTitle2"]
["bookAuthor2"]
["bookPublisher2"]
["bookNumOfPages2"]
所以我想要所有以1结尾的字符串和另一个数组中以2结尾的字符串。
还不清楚! :( – Roy
你试过字典吗? – Roy
问题在于你把整个编号附加到名字上的想法,比如在'“bookTitle1”'中,是一个糟糕的模型。使用一个名字是键的字典,值是(直方图) – matt