私はいくつかのデータを含むオブジェクトを持っています。最初の次元は1年の月を表す1から12までです。その中で、私はその月の「真」である特定のIDの持っている:このデータを使用するにはオブジェクトを合理化すると、このデータを配列として作成できますか?
var monthData = {
1: { 219: true, 474: true },
2: { 219: true, 391: true },
3: { 219: true },
...
};
を、私はmonth
(値1-12)を検索し、その月のID
(例えば391) 。 ID
は、その月内に存在する場合は、私が持っている完全なデータを見たとき、私はreturn true;
return !!monthData[month][ID];
しかし、繰り返しが多いようです。たとえば、毎月219: true
を繰り返しています。私もすべてのIDの後にtrue
を繰り返しています - 実際にはID
の存在が真実になっているので、これが洗練されているように感じます。
これを代わりに配列データとして保存できますか?これを繰り返し、必要なだけデータを返す簡単な方法はありますか?あなたは、配列の配列としてすべてのデータを保存し、データを検索するindexOf()
を使用することができ
findIDByMonth : function (month,ID) {
var monthData = {
1: { 219: true, 474: true },
2: { 219: true, 474: true },
3: { 219: true, 474: true },
4: { 219: true, 296: true, 391: true, 474: true, 578: true, 917: true, 987: true, 1036: true },
5: { 219: true, 296: true, 391: true, 474: true, 578: true, 917: true, 987: true, 1036: true },
6: { 219: true, 391: true, 474: true, 578: true, 834: true, 917: true, 987: true, 1036: true },
7: { 219: true, 251: true, 391: true, 474: true, 578: true, 834: true, 917: true, 987: true, 1036: true },
8: { 219: true, 251: true, 391: true, 474: true, 526: true, 578: true, 834: true, 917: true, 987: true, 1036: true, 1092: true },
9: { 219: true, 251: true, 296: true, 391: true, 474: true, 526: true, 578: true, 897: true, 917: true, 987: true, 1036: true, 1092: true },
10: { 219: true, 251: true, 391: true, 474: true, 526: true, 578: true, 897: true, 917: true, 987: true, 1036: true, 1092: true },
11: { 219: true, 474: true, 987: true, 1036: true },
12: { 219: true, 474: true }
};
return !!monthData[month][ID];
}
@Aschabです。 https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf – Archer
あなたは間違っていた、コメントを削除しました、悲しい:P – Aschab
@Aschabいいえ心配:) – Archer