반응형
iOS는 다른 배열에서 배열 요소를 신속하게 제거합니다.
두 개의 배열이 있습니다
var array1 = new Array ["a", "b", "c", "d", "e"]
var array2 = new Array ["a", "c", "d"]
array1에서 array2의 요소를 제거하고 싶습니다.
Result ["b", "e"]
가장 쉬운 방법은 두 배열을 세트로 변환하고 첫 번째에서 두 번째를 빼고 결과를 배열로 변환 한 다음 다시 할당하는 것입니다 array1
.
array1 = Array(Set(array1).subtracting(array2))
코드가 유효한 Swift가 아닙니다. 유형 추론을 사용하여 다음과 같이 두 배열을 선언하고 초기화 할 수 있습니다.
var array1 = ["a", "b", "c", "d", "e"]
var array2 = ["a", "c", "d"]
@ Antonio의 솔루션 은 더 성능이 뛰어나지 만 중요한 경우 순서가 유지됩니다.
var array1 = ["a", "b", "c", "d", "e"]
let array2 = ["a", "c", "d"]
array1 = array1.filter { !array2.contains($0) }
인덱스 배열을 사용하여 요소 제거 :
문자열 및 인덱스 배열
let animals = ["cats", "dogs", "chimps", "moose", "squarrel", "cow"] let indexAnimals = [0, 3, 4] let arrayRemainingAnimals = animals .enumerated() .filter { !indexAnimals.contains($0.offset) } .map { $0.element } print(arrayRemainingAnimals) //result - ["dogs", "chimps", "cow"]
정수 및 인덱스 배열
var numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] let indexesToRemove = [3, 5, 8, 12] numbers = numbers .enumerated() .filter { !indexesToRemove.contains($0.offset) } .map { $0.element } print(numbers) //result - [0, 1, 2, 4, 6, 7, 9, 10, 11]
다른 배열의 요소 값을 사용하여 요소 제거
정수 배열
let arrayResult = numbers.filter { element in return !indexesToRemove.contains(element) } print(arrayResult) //result - [0, 1, 2, 4, 6, 7, 9, 10, 11]
문자열 배열
let arrayLetters = ["a", "b", "c", "d", "e", "f", "g", "h", "i"] let arrayRemoveLetters = ["a", "e", "g", "h"] let arrayRemainingLetters = arrayLetters.filter { !arrayRemoveLetters.contains($0) } print(arrayRemainingLetters) //result - ["b", "c", "d", "f", "i"]
범위 밖이지만 여기에 있었다면 도움이 될 것입니다. OBJECTIVE-C의 배열에서 subArray 제거
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"not (self IN %@)", subArrayToBeDeleted];
NSArray* finalArray = [initialArray filteredArrayUsingPredicate:predicate];
hope it will ever help someone :)
You can create sets and then use the subtract method
let setA = Set(arr1)
let setB = Set(arr2)
setA.subtract(setB)
ReferenceURL : https://stackoverflow.com/questions/31984435/ios-swift-remove-elements-of-an-array-from-another-array
반응형
'programing' 카테고리의 다른 글
NLTK 및 불용어 실패 #lookuperror (0) | 2021.01.17 |
---|---|
Angular material $ mdToast의 메시지 유형에 따라 Toast의 색상을 어떻게 변경할 수 있습니까? (0) | 2021.01.17 |
.NET을 사용하여 동일한 프로세스로 여러 명령 줄 실행 (0) | 2021.01.17 |
프로그래머가 아닌 사람에게 프로젝트 복잡성을 설명하는 좋은 은유가 있습니까? (0) | 2021.01.16 |
C의 삼항 (조건부) 연산자 (0) | 2021.01.16 |