์๋กญ๊ฒ ์ ๊ฒ indices,contentsOf,compactMap
๋จผ์ indices๋ ์์ ํ๊ฒ ๋ฐฐ์ด์ ๋๋ ๊ฒ์ธ๋ฐ
๋ง์ฝ ๋ฐฐ์ด์ด var a= [1,2,3,4]๋ผ๋ฉด a[6]์ ๋ฃ๋ ์๊ฐ ์๋ฌ๊ฐ ๋๋ค.
ํ์ง๋ง ์ด๋ ๊ฒ Array๋ฅผ ํ์ฅํด์ indices๊ฐ index๋ฒ์๋ผ๋ฉด ๊ฐ์ ๋ฐํํ๊ณ ์๋๋ผ๋ฉด nil์ ๋ฐํํ๋๋ก ํ๋ค.
1 2 3 4 5 |
extension Array { subscript (safe index: Int) -> Element? { return indices ~= index ? self[index] : nil } } http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter |
์๋์ ๊ฐ์ด ๋ฐฐ์ด์ ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ฉด nil๊ฐ์ ๋ฐํํ๋ค.
๊ทธ ๋ค์ compactMap์ map๊ณผ์ ์ฐจ์ด์ ์ ๋งต์ ์ต์ ๋๋ก ๋ฐํ์ด๋๊ณ ์ปดํฉํธ๋งต์ ์ต์ ๋ ์ค์ nil๊ฐ์ด ์๋ ๊ฑธ๋ก ๋ฐํ์ด ๋๊ธฐ ๋๋ฌธ์ ์ผ๋ฐ ๊ฐ์ผ๋ก ๋ฐํ์ด ๋๋ค. ์๋์ ๊ฐ์ด compactMap์ ํ a๋ [1,2,3,4]๋ฅผ ๊ฐ๊ณ ์ผ๋ฐ ๋งต์ ์ต์ ๋๋ก ๋ฐํ์ด ๋๊ธฐ ๋๋ฌธ์ ์ต์ ๋์ ํ์ด์ค์ผ ์ผ๋ฐ์ ์ธ [1,2,3,4]๋ก ๋ฐํ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ผ๋ก contentsOf๋ appendํ ๋ ์์ ๋ฒ์๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ๋ฒ์๋งํผ ๋ฐฐ์ด์ ์ถ๊ฐ๊ฐ ๋๋ค.
์๋์ ๊ฐ์ด 10...15๋ฅผ ๋ฃ์ผ๋ฉด 10,11,12,13,14,15๊ฐ ์ถ๊ฐ๊ฐ๋๋ค.
'๐ Language > Swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] ๋์ ๋๋ฆฌ ๋ฐธ๋ฅ๊ฐ์ผ๋ก ํค๊ฐ ์์๋๋ก ์ ๋ ฌํ๊ธฐ(Sort Dictionary keys by values) (0) | 2020.08.25 |
---|---|
[Swift] Set์งํฉ์ index์์น ์์๋ด๊ธฐ (0) | 2020.05.13 |
[Swift] ๋ฌธ์์ด ๋ด๊ฐ ์ํ๋๋งํผ ์๋ฅด๊ธฐ (0) | 2020.01.19 |
Swift ์ด๋ฉ์ผ ํ์ ๊ฒ์ฌํ๊ธฐ(Email Validation) (0) | 2020.01.11 |
[Swift] keyword๋ฅผ ์ด์ฉํด์ ๊ฒ์ํ๋ ๋ฒ (0) | 2019.12.05 |
๋๊ธ