2017-05-19 1 views
-1

나는 문자열 배열 등이 있습니다사전에 일치하는 값을 기반으로 배열의 값을 대체하는 방법은 무엇입니까?

var depatureDay: [String] = ["2", "4", "1", "5"] 

을 나는 사전을 가지고

var dayDictionary: [String: String] = [ 
     "1": "Monday", 
     "2": "Tuesday", 
     "3": "Wednesday", 
     "4": "Thursday", 
     "5": "Friday", 
     "6": "Saturday", 
     "7": "Sunday"] 

나는

["Tuesday", "Thursday", "Monday", "Friday"] 
+0

이 숙제입니까? lol, 출발 배열을 반복하면서 각 값을 가져 와서 사전의 "키"로 사용하여 새 배열에 넣을 요일 이름을 추출하는 것이 좋습니다. – Pochi

+0

내가 시도한 루프가 결과를 생성하지 못했습니다. 무슨 뜻인지 예를 들려 줄 수 있니? – ruffdrum

+0

@ruffdrum 당신은 단지 한 줄짜리 코드라고 생각하지 않습니까?'let resultArray = depatureDay.flatMap {dayDictionary [$ 0]}' –

답변

0

이 심각하게 보이는 배열을 생산하기 위해 배열을 반복하려면 어떻게 숙제가 ....

var depatureDay: [String] = ["2", "4", "1", "5"] 


var dayDictionary: [String: String] = [ 
    "1": "Monday", 
    "2": "Tuesday", 
    "3": "Wednesday", 
    "4": "Thursday", 
    "5": "Friday", 
    "6": "Saturday", 
    "7": "Sunday"] 


var resultArray = [String]() 

for dayKey in depatureDay { 

    guard let foundDate = dayDictionary[dayKey] else { 
     continue 
    } 

    resultArray.append(foundDate) 
} 

print(resultArray) 
+0

Perfect. 그것은 더 큰 문제의 일부 였고 나는 가능한 한 간단 해 지려고 노력했습니다. 당신의 도움을 주셔서 감사합니다. – ruffdrum

관련 문제