์ค์ํํธ๋ ์๋ ํจ์๊ฐ ์๋ค,, ํจ์๋ค์ ์ ์์งํ๊ณ ์์ผ๋ฉด ๋๋ฌด ํธํ๋ค ์ ๋ง๋ฃจ
๋ฐ๋ผ์ ์ค๋๋ถํฐ ํจ์๋ค์ ๋ณด๊ธฐ์ข๊ฒ ์ ๋ฆฌํด๋ณด๋ ค๊ตฌํ๋ค.
์๊ฐ๋๋๋๋ก ๊ณ์ ์ถ๊ฐํ ์์ !
(์ฌ๊ธฐ์ ํจ์๋ค์ ๋ชจ๋ ๊ธฐ๋กํ๊ณ , ํ์์ ๋ฐ๋ผ ํจ์๋ณ ์์ธํ ๋ด์ฉ์ ๋ฐ๋ก ๊ธ์ ์ ๋ก๋ํ๊ฒ ๋ค.)
๐ ์ ๋ ฌ
๐ sorted, sort, reverse
var arr1 = [1, 2, 5, 4, 3]
var arr2 = [1, 2, 5, 4, 3]
var arr3 = [1, 2, 5, 4, 3]
arr1.sorted() // ์ค๋ฆ์ฐจ์ ์ ๋ ฌ (์ค๋ฆ์ฐจ์์ด default๋ผ์ ๋น ๊ดํธ ๊ฐ๋ฅ)
arr1.sorted(by: <) // ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
arr1.sorted(by: >) // ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
arr2.sorted(){$0 > $1} // ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
arr2.sorted{$0 > $1} // ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
// [1, 2, 3, 4, 5]
// [1, 2, 3, 4, 5]
// [5, 4, 3, 2, 1]
// [1, 2, 3, 4, 5]
// [5, 4, 3, 2, 1]
// ๊ธฐ์กด ๋ฐฐ์ด์ ๋ฐ์x, ๋ฐํ ํ์
์ ๋ฐฐ์ด
arr3.sort()
print(arr3)
arr3.reverse()
print(arr3)
// [1, 2, 3, 4, 5]
// [1, 2, 3, 4, 5]
// [5, 4, 3, 2, 1]
// [5, 4, 3, 2, 1]
// sort๋ sorted์ ๋ค๋ฅด๊ฒ ๊ธฐ์กด ๋ฒ ์ด์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ํ๋ค.
๐ ๊ฒ์
๐ prefix, suffix, contains, startIndex, endIndex, firstIndex, lastIndex, first, last, min, max
var arr4 = [1, 2, 5, 4, 3]
var arr5 = [1, 2, 2, 3, 3, 4, 5]
arr4.prefix(2) // ์์์๋ถํฐ ์ํ๋ ๊ฐ์์ ์์ ๊ฐ์ ธ์ค๊ธฐ
arr4.suffix(2) // ๋ค์์๋ถํฐ ์ํ๋ ๊ฐ์์ ์์ ๊ฐ์ ธ์ค๊ธฐ
// [1, 2]
// [4, 3]
// ๊ธฐ์กด ๋ฐฐ์ด์ ๋ฐ์x, ๋ฐํ ํ์
์ ๋ฐฐ์ด
arr5.contains(2) // ์ํ๋ ์์์ ์กด์ฌ ์ฌ๋ถ ๊ฒ์
// false
// ๋ฐํ ํ์
์ Bool
arr5.startIndex // ์ฒซ ๋ฒ์งธ ์ธ๋ฑ์ค ์์น
arr5.endIndex // ๋ง์ง๋ง ์ธ๋ฑ์ค ์์น + 1 (๋ฐฐ์ด์ ๊ธธ์ด์ ๊ฐ์)
arr5.firstIndex(of: 2) // ์ํ๋ ์์์ ๊ฐ์ฅ ์ฒซ ๋ฒ์งธ ์์น ๊ฒ์
arr5.lastIndex(of: 3) // ์ํ๋ ์์์ ๊ฐ์ฅ ๋ง์ง๋ง ์์น ๊ฒ์
// 0
// 7
// 1
// 4
// ๋ฐํ ํ์
์ Int
arr5.first // ์ฒซ ๋ฒ์งธ ์์ ๊ฒ์
arr5.last // ๋ง์ง๋ง ์์ ๊ฒ์
// 1
// 5
arr5.min() // ๋ฐฐ์ด์ ์ต์๊ฐ ๊ฒ์
arr5.max() // ๋ฐฐ์ด์ ์ต๋๊ฐ ๊ฒ์
// 1
// 5
// ๋ฐํ์ ์ต์
๋
// (ํจ์๋ ์๋์ง๋ง ๊ฒ์ ๋ฐฉ๋ฒ ์ถ๊ฐ,,!)
arr5[1...3] // ๋ฐฐ์ด ์์น ๋ฒ์๋ก ์์ ๊ฒ์
arr5[1...3] = [0, 0, 0] // ์ด๋ ๊ฒ ์์ ๋ ๊ฐ๋ฅ!
print(arr5)
// [2, 3, 4]
// [0, 0, 0]
// [1, 0, 0, 0, 3, 4, 5]
๐ ๋ฐฐ์ด์ ๊ธธ์ด
๐ count
var arr6 = [1, 2, 5, 4, 3]
arr6.count // 5
// ๋ฐํ ํ์
์ Int
๐ ์ฝ์
๐ append, insert
var arr7 = [1, 2, 3]
arr7.append(5) // ๋ฐฐ์ด ๋งจ ๋ค์ ์ถ๊ฐ
arr7.insert(4, at: 3) // ์ํ๋ ์์น์ ์ฝ์
// [1, 2, 3, 5]
// [1, 2, 3, 4, 5]
// ๊ธฐ์กด ๋ฐฐ์ด์ ๋ฐ์, ๋ฐํ ํ์
์ ๋ฐฐ์ด
๐ ์ญ์
๐ remove, removeLast, removeFirst, removeAll, dropFirst, dropLast
var arr8 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
var arr9 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
arr8.remove(at: 2) // ์ํ๋ ์์น์ ์์ ์ ๊ฑฐ
print(arr8)
arr8.removeLast() // ๋ง์ง๋ง ์์ ์ ๊ฑฐ
print(arr8)
arr8.removeFirst() // ์ฒซ ๋ฒ์งธ ์์ ์ ๊ฑฐ
print(arr8)
// 3
// [1, 2, 4, 5, 6, 7, 8, 9, 10]
// 10
// [1, 2, 4, 5, 6, 7, 8, 9]
// 1
// [2, 4, 5, 6, 7, 8, 9]
// ๋ฐํ ํ์
์ ์ญ์ ํ๋ ค๋ ์์! ์ญ์ ๋ ๋ฐฐ์ด ๋ฐํ๋๋ ๊ฒ ์๋.
arr8.removeLast(1) // ๋ค์์๋ถํฐ ์ํ๋ ๊ฐ์์ ์์ ์ ๊ฑฐ
print(arr8)
arr8.removeFirst(2) // ์์์๋ถํฐ ์ํ๋ ๊ฐ์์ ์์ ์ ๊ฑฐ
print(arr8)
arr8.removeAll() // ๋ชจ๋ ์์ ์ ๊ฑฐ
print(arr8)
// [2, 4, 5, 6, 7, 8]
// [2, 4, 5, 6, 7, 8]
// [5, 6, 7, 8]
// [5, 6, 7, 8]
// []
// []
// ๋ฐํ ํ์
์ ์ญ์ ์๋ฃํ ๋ฐฐ์ด! ์ญ์ ์์ ๋ฐํx
arr9.dropFirst() // ์ฒซ ๋ฒ์งธ ์์ ์ ๊ฑฐ
arr9.dropLast() // ๋ง์ง๋ง ์์ ์ ๊ฑฐ
print(arr9)
// [2, 3, 4, 5, 6, 7, 8, 9, 10]
// [1, 2, 3, 4, 5, 6, 7, 8, 9]
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
arr9.dropFirst(2) // ์์์๋ถํฐ ์ํ๋ ๊ฐ์์ ์์ ์ ๊ฑฐ
arr9.dropLast(3) // ๋ค์์๋ถํฐ ์ํ๋ ๊ฐ์์ ์์ ์ ๊ฑฐ
print(arr9)
// [3, 4, 5, 6, 7, 8, 9, 10]
// [1, 2, 3, 4, 5, 6, 7]
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
// ๋ฐํ ํ์
์ ์ ๊ฑฐ ์๋ฃํ ๋ฐฐ์ด
// remove์ ๋ค๋ฅธ ์ ์, ์ ๊ฑฐ ๋์์ด ํด๋น ๋ฐฐ์ด์๋ ๋ฐ์๋์ง ์๋๋ค๋ ๊ฒ!
๐ ๋ฌธ์์ด ๋ฐฐ์ด์ ๋ฌธ์์ด๋ก ๋ณํ
๐ joined
var arr10 = [1, 2, 3, 4, 5].map{String($0)}
arr10.joined() // String ๋ฐฐ์ด์ String์ผ๋ก ๋ณํ
arr10.joined(separator: "*") // ์ํ๋ ๊ตฌ๋ถ์๋ฅผ ๋ฃ์ด String์ผ๋ก ๋ณํ
// "12345"
// "1*2*3*4*5"
// ๋ฐํ์ String
(joined ํจ์ ์ฌ์ฉ ์ ์ฃผ์์ฌํญ์ ์๊ธฐ๐๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์!)
๐ 2์ฐจ์ ๋ฐฐ์ด์ 1์ฐจ์ ๋ฐฐ์ด๋ก ๋ณํ
๐ flatMap
var arr11 = [[1, 2, 3], [4, 5]]
var arr12 = arr11.flatMap({$0})
print(arr11)
print(arr12)
// [[1, 2, 3], [4, 5]]
// [1, 2, 3, 4, 5]
// ๋ณํํ ๊ฒฐ๊ณผ๋ฅผ ์๋ ๋ฐฐ์ด์ ๋ฐ์x
'3๏ธโฃ Swift > Swift ์ ๋ฆฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] inout ํ๋ผ๋ฏธํฐ (0) | 2021.09.05 |
---|---|
[Swift] split๊ณผ components์ ์ฐจ์ด์ (0) | 2021.08.08 |
[Swift] ํด๋ก์ (Closure) ์ ๋ฆฌ (feat. sorted) (6) | 2021.06.30 |
[Swift] ์ผ๊ธ ๊ฐ์ฒด (First-class Citizen) ์ ๋ฆฌ (2) | 2021.06.24 |
[Swift] sorted, joined ํจ์ ์ฌ์ฉ ์ ์ฃผ์ ์ฌํญ! (0) | 2021.06.13 |
๋๊ธ