swift에 변수는 var 상수는 let으로 선언된다. (자주보던 친구들이다.)
javascript에서 null은 nil로 표기한다.
var red:String = ""
var red = String() //초기화
let colors:String[] = ["red","blue"]
let colors = [String]() //초기화
index 순서가 존재하여 중복으로 저장 가능
let arr1: [Int]
var arr2: [String]
var array3 = [Int](repeating: 0, count: 10) // new Array(10).fill(0) in js
let count: Int = array3.count // 배열 갯수 확인 : 10
let isEmpty: Bool = array3.isEmpty // false
// 4. 여러 타입을 저장하는 배열 생성하기
var array4: [Any] = [1, "Sodeul", 20.4]
var array5: NSArray = [1, "Sodeul", 20.4]
NSArray는 Class 형식이라 요소는 무조건 "인스턴스"로 구성되어 있어야 함..!
// 요소 추가
var array6 = [1, 2, 3]
array6.insert(0, at: 0) // [0, 1, 2, 3]
array6.insert(contentsOf: [10, 100], at: 2) // [0, 1, 10, 100, 2, 3 ]
index 순서가 없기 때문에 출력 할 경우 무작위로 나오고 중첩 삽입도 불가하며 집합을 사용할 수 있습니다.
var numbers: Set<Int> = [1,14,3,4]
var sets: Set<Int> = [0,1,3,5]
//합집합
sets.union(numbers) // [14, 1, 3, 4, 2, 5]
//교집합
sets.intersection(numbers) // [3, 1]
// 합 - 교
sets.symmetricDifference(numbers) // [14, 4, 2, 5]
//여
sets.subtracting(numbers) // [14, 4]
//한쪽에 포함여부
sets.isSubset(of:numbers) false
sets.isSuperset(of: numbers) //역 false
//한쪽에 불포함 여부
sets.isDisjoint(with: numbers) // false
removeValue, updateValue로 값 변경 가능
let namesDic = ["Kim":"im", "Lee":"lee", "Park":"park"]
namesDic.updateValue("Kim", forKey: "kim")
let newNamesDic = namesDic.map { element in
element.value
}
print(newNamesDic) // ["kim","lee","park"]
let namesDicfilter = namesDic.filter { $0.value.count >= 4 }
print(namesDicfilter) // ["park"]
let namesDicReduce = namesDic.filter { $0.value.count >= 3 }.map { $0.value.count }.reduce(0) { $0 + $1 }
print(namesDicReduce) // 10