ios - 在一个array中有很多个model,现在需要将model.date日期是同一天的放入一个array?
巴扎黑
巴扎黑 2017-04-17 17:53:02
0
2
289

在一个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],

]
请问,应该如何做?

巴扎黑
巴扎黑

全員に返信(2)
阿神

これは JSON ですか?直接
var keymap={};
し、リストを走査
して keymap[item.date] が未定義かどうかを判断します
はいの場合は配列に割り当てます
そうでない場合はプッシュします
最後にキーマップを走査し、すべての値をリストにプッシュします

の項目
いいねを押す +0
伊谢尔伦

まず、model.date のタイプは NSString ですか? それとも NSDate ですか?
まず、これらの質問は脇に置いて、 で指定されるデータ形式に注目してください。質問者さんは、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」の文字列に変換して、この文字列を比較することもできます。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート