在一个array中有一个model,类似这样:
[
model1.date = 2016.4.12 8:25
model2.date = 2016.4.12 9:20
model3.date = 2016.3.13 8:30
model4.date = 2016.3.11 8:15
model5.date = 2015.2.12 1:20
model6.date = 2015.2.12 2:25
]
现在需要做的是将日期是同一天的放入一个数组中,没有日期相同的也放入一个数组中,最终要得到的数组应该是这样的:
[
[model1,model2],
[model3],
[model4],
[model5,model6],
]
请问,应该如何做?
阿神2017-04-17 17:55:02
이것이 json인가요? 직접
var keymap={};
목록을 탐색하여
keymap[item.date]가 정의되지 않았는지 확인
그렇다면 배열에 할당
그렇지 않으면 푸시
마지막으로 키맵을 탐색하고 모든 값을 목록에 푸시합니다
伊谢尔伦2017-04-17 17:55:02
먼저 model.date 유형이 NSString입니까 아니면 NSDate입니까? 날짜 형식이 "yyyy.MM.dd HH.mm"이 아닙니까?
이러한 질문을 먼저 제쳐두고 다음에서 제공하는 데이터 형식에 집중하세요. 질문자. 는 model.date가 NSString 유형이라고 가정하여 아이디어를 제공합니다(NSDate 유형인 경우 NSString 유형으로 변환됨).
1. 이 배열을 탐색하고 먼저 model.date에서 앞뒤 공백을 제거합니다.
2. 그런 다음 머리부터 str의 첫 번째 공백까지 하위 문자열을 가로챕니다. 예를 들어 "2016.4.12 8:25"는 "2016.4.12"를 가로채고 str을 비교하여 해당 문자열을 어디에 넣을지 알 수 있습니다. 배열 모델
으아아아확인을 위해 데모를 작성하세요. 코드는 아래에 첨부되어 있습니다
으아아아해당 콘솔 출력 :
모델의 메모리 주소를 관찰하여 문제가 없는지 확인합니다.
model.date가 NSDate 유형인 경우 model.date를 "yyyy-MM-dd" 문자열로 변환한 다음 이 문자열을 비교할 수도 있습니다.