在一个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],
]
请问,应该如何做?
Adakah ini json? Terus
var keymap={};
dan kemudian lintasi senarai
untuk menentukan sama ada keymap[item.date] tidak ditentukan
Jika ya, tetapkan ia kepada tatasusunan
Jika tidak, tolak item dalam
Akhirnya melintasi peta kunci dan menolak semua nilai ke dalam senarai
Pertama sekali, adakah model.date jenis anda NSString atau NSDate? Adakah format tarikh bukan "yyyy.MM.dd HH.mm"
Ketepikan dahulu soalan ini dan fokus pada format data yang diberikan oleh questioner. , memberikan idea, dengan mengandaikan bahawa model.date adalah daripada jenis NSString (jika ia adalah jenis NSDate, ia ditukar kepada jenis NSString).
1. Lintas tatasusunan ini, mula-mula keluarkan ruang hadapan dan belakang daripada model.date
2. Kemudian memintas subrentetan dari kepala ke ruang pertama dari str, sebagai contoh: "2016.4.12 8:25" memintas "2016.4.12", dan kemudian dengan membandingkan str, anda tahu di mana untuk meletakkan yang sepadan model tatasusunan yang mana
Tulis Demo untuk mengesahkan, kod dilampirkan di bawah
Output konsol yang sepadan:

Perhatikan alamat memori model dan sahkan bahawa tiada masalah.
Jika model.date daripada jenis NSDate, anda juga boleh menukar model.date kepada rentetan "yyyy-MM-dd", dan kemudian bandingkan rentetan ini, saya harap jawapan saya akan membantu anda.