Как поместить номера массивов в словарь в последовательности в Swift 3? - PullRequest
0 голосов
/ 09 июня 2018

Здесь я попробовал следующий код, но не получил требуемый вывод, мне нужно отобразить массив в виде словаря, чтобы получить желаемый вывод в виде ["0.0": "50.0", "50.0": "100.0", "100.0": "150.0"], который у меня есть [0.0, 50.0, 100.0, 150.0] в self.filteredPriceArr Может кто-нибудь помочь мне, как реализовать этокак требуется?

       for (index,item) in self.filteredPriceArr.enumerated() {
            print(index)
            print(self.filteredPriceArr.count)
            if index + 1 != priceArray.count {
                priceDict.updateValue("\(self.filteredPriceArr[index + 1])", forKey: "\(self.filteredPriceArr[index])")
            }
            print(priceDict)
        }

1 Ответ

0 голосов
/ 09 июня 2018

Я поставил ваш код и есть только одна ошибка

То есть priceArray должно быть filteredPriceArr

var filteredPriceArr = [0.0, 50.0, 100.0, 150.0]

var priceDict:[String:String] = [:]

for (index,item) in filteredPriceArr.enumerated() {
    print(index)
    print(filteredPriceArr.count)
    if index + 1 != filteredPriceArr.count {
        priceDict.updateValue("\(filteredPriceArr[index + 1])", forKey: "\(filteredPriceArr[index])")
    }
}

print(priceDict)

здесь вывод

["0.0": "50.0", "100.0": "150.0", "50.0": "100.0"]

Вы не можете получить его в следующем порядке, как вы упоминали в вопросе

["0.0": "50.0", "50.0": "100.0", "100.0": "150.0"]

Словарь не может быть отсортирован !!

...