단어 배열이 있고 일부는 오타가 있거나 없을 수 있습니다. 내가 원하는 무엇배열을 매핑하고 if 절을 사용하고 잘못된 데이터를 필터링하는 방법은 무엇입니까?
potentialWords = ["hello", "lkasjdf", "hunry"]
는 유효한 모든 단어의 배열을 반환하고, 수 있었다 또한 그 단어는 내가 correctWord
생성 기능을 사용하여 자동 수정되어야한다. 잠재적 인 일치 항목의 배열을 반환합니다. "hunry"
은 ["hungry", "hurry"]
을 반환 할 수 있습니다. 가장 좋은 추측을위한 첫 번째 색인을 선택하겠습니다.
그러나 일부 단어는 수정할 수 없습니다! 예 : "lkasjdf"
은 수정 사항을 찾지 못하지만 "hunry"
이됩니다.
내가 좋아하는 뭔가를 시도했다 :이 불평 물론
potentialWords.map {
if correctWord($0) != nil {
return correctWord($0)[0]
}
}
을하고 나는 경우 절 외부의 반환이 필요하다고 말한다. 단어를 수정할 수있는 기반으로 목록을 필터링 한 다음 필터링 된 목록에 매핑하고 수정해야 할 단어를 다시 확인하지만 correctWord
함수를 여러 번 실행하면 매우 민감합니다.
나는 하나의 패스 스루를 할 수 있고, 모든 유효한 단어의 배열을 돌려주고, 또한 수정 된 단어를 원한다.
P. 간결함을 위해지도 함수에서 correctWord
을 두 번 호출하고 있습니다. 물론 변수에 correctWord($0)
을 할당하고 nil이 아닌 경우 첫 번째 인덱스를 가져 와서 새 목록에 추가하십시오.
awesome! 고맙습니다 – VDog