써니쿠키의 IOS 개발일기

[swift] Array 멤버 대괄호없이 한 줄로 출력하는 방법 (joind, map) 본문

swift, Ios

[swift] Array 멤버 대괄호없이 한 줄로 출력하는 방법 (joind, map)

sunnyCookie 2022. 8. 19. 11:45

목표 : Array 타입을 대괄호 없이 한 줄로 출력하기 !

var numbers: Array<Int> = [1, 2, 3]
// 목표 출력 형태 
// 1, 2, 3

 


방법1. joind 메소드 사용하기

다만 joind메소드를 사용하기위해서는 String타입이여햐 해서

Int 타입을 String타입으로 변환해주기 위해 map 메서드를 활용한다.

var numbers: Array<Int> = [1, 2, 3]

print(numbers.map { String($0) }.joined(separator: ", ") )
//출력
// 1, 2, 3

// 클로저 축약형을 풀어서 작성 (위와같음)
print(numbers.map { (number: Int) -> String in
    return String(number)}.joined(separator: ", ") )
//출력
// 1, 2, 3

방법2. 초보용 for - in 구문 사용하기

첫번째 방법으로 for - in구문을 사용하는 방법이다.

// For 문 사용
for number in numbers {
       print(number, terminator: ", ")
}
print("다른 줄에 있어야 할 내용")
//출력:
//1, 2, 3, 다른 줄에 있어야 할 내용

⛔️ 다른 코드에서 또 출력값이 있을 시 3 뒤에 이어서 출력이 되는 문제와 쉼표가 3뒤에도 출력되는 문제가 있다.
-> index로 나눠서 마지막 index에서는 terminator를 쓰지 않도록 분리해줘야한다 .

for number in numbers {
    if number != numbers[numbers.count-1] {
        print(number, terminator: ", ")
    }
    if number == numbers[numbers.count-1] {
        print(number)
    }
}
print("다른 줄에 있어야 할 내용")
// 출력
// 1, 2, 3
// 다른 줄에 있어야 할 내용

✅ joined 쓰세여..!

반응형
Comments