質問編集履歴

2

リンクを追加

2021/05/20 02:00

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -465,3 +465,13 @@
465
465
  データ自体に、7:00以上9:00以下などの範囲に設定できれば
466
466
 
467
467
  私の実施したい事ができるのですが…。
468
+
469
+
470
+
471
+ JSでJSONを動的にフィルタしたい
472
+
473
+ https://teratail.com/questions/212715
474
+
475
+ 上記が参考になりそうなので確認中です。
476
+
477
+ jsonのファイル自体に「開始時間」「終了時間」と指定しても良いかもしれません。

1

分かっているところまでの記入

2021/05/20 02:00

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -223,3 +223,245 @@
223
223
  7:00~9:00と記載されているデータを >=7:00 && <=9:00 みたいに記載しても
224
224
 
225
225
  問題ありません。
226
+
227
+
228
+
229
+ 情報収集しつつ質問してました。
230
+
231
+ 一応問題なく動作しそうなところまで確認できました。
232
+
233
+ ```js
234
+
235
+ const array = [
236
+
237
+ {
238
+
239
+ "id": 1,
240
+
241
+ "name": "あ",
242
+
243
+ "quote": "テストA",
244
+
245
+ "category": "情報",
246
+
247
+ "place_now": "家",
248
+
249
+ "time_extent": "23:00",
250
+
251
+ "date_extent": 0
252
+
253
+ },
254
+
255
+ {
256
+
257
+ "id": 2,
258
+
259
+ "name": "い",
260
+
261
+ "quote": "テストB",
262
+
263
+ "category": "情報",
264
+
265
+ "place_now": "家",
266
+
267
+ "time_extent": "23:00~6:00",
268
+
269
+ "date_extent": 0
270
+
271
+ },
272
+
273
+ {
274
+
275
+ "id": 3,
276
+
277
+ "name": "う",
278
+
279
+ "quote": "テストC",
280
+
281
+ "category": "情報",
282
+
283
+ "place_now": "家",
284
+
285
+ "time_extent": "7:00",
286
+
287
+ "date_extent": 0
288
+
289
+ },
290
+
291
+ {
292
+
293
+ "id": 4,
294
+
295
+ "name": "え",
296
+
297
+ "quote": "テストD",
298
+
299
+ "category": "情報",
300
+
301
+ "place_now": "家",
302
+
303
+ "time_extent": 0,
304
+
305
+ "date_extent": 0
306
+
307
+ },
308
+
309
+ {
310
+
311
+ "id": 5,
312
+
313
+ "name": "お",
314
+
315
+ "quote": "明けましておめでとう",
316
+
317
+ "category": "情報",
318
+
319
+ "place_now": "家",
320
+
321
+ "time_extent": 0,
322
+
323
+ "date_extent": "1/1"
324
+
325
+ },
326
+
327
+ {
328
+
329
+ "id": 6,
330
+
331
+ "name": "か",
332
+
333
+ "quote": "バレンタインだ",
334
+
335
+ "category": "情報",
336
+
337
+ "place_now": "家",
338
+
339
+ "time_extent": 0,
340
+
341
+ "date_extent": "2/14"
342
+
343
+ },
344
+
345
+ {
346
+
347
+ "id": 7,
348
+
349
+ "name": "き",
350
+
351
+ "quote": "クリスマスイブだ",
352
+
353
+ "category": "情報",
354
+
355
+ "place_now": "家",
356
+
357
+ "time_extent": 0,
358
+
359
+ "date_extent": "12/24"
360
+
361
+ },
362
+
363
+ {
364
+
365
+ "id": 8,
366
+
367
+ "name": "く",
368
+
369
+ "quote": "クリスマスだ",
370
+
371
+ "category": "情報",
372
+
373
+ "place_now": "家",
374
+
375
+ "time_extent": 0,
376
+
377
+ "date_extent": "12/25"
378
+
379
+ },
380
+
381
+ {
382
+
383
+ "id": 9,
384
+
385
+ "name": "け",
386
+
387
+ "quote": "眠い",
388
+
389
+ "category": "情報",
390
+
391
+ "place_now": "家",
392
+
393
+ "time_extent": "6:00<=7:00",
394
+
395
+ "date_extent": 0
396
+
397
+ },
398
+
399
+ {
400
+
401
+ "id": 10,
402
+
403
+ "name": "こ",
404
+
405
+ "quote": "",
406
+
407
+ "category": "情報",
408
+
409
+ "place_now": "家",
410
+
411
+ "time_extent": "13:00",
412
+
413
+ "date_extent": 0
414
+
415
+ }
416
+
417
+ ]
418
+
419
+ const test= array.filter(x => x.time_extent === '7:30')
420
+
421
+ console.log(test)
422
+
423
+
424
+
425
+ ```
426
+
427
+
428
+
429
+ ただ、「7:00~9:00」のものや
430
+
431
+ 「23:00~6:00」をどうやって取得すれば良いか分かりません。
432
+
433
+ 時間 範囲 取得 等で調べても、現在時刻で比較したりしてます。
434
+
435
+ 今はダミーのデータなので「12:00」などきりの良い数字が多いですが
436
+
437
+ 基本的には「11:30~12:30」など時刻範囲になる予定です。
438
+
439
+
440
+
441
+ 元データ自体を「7:00<=9:00」のようにしても良いのかと思いましたが、
442
+
443
+ 取得は出来ませんでした。
444
+
445
+
446
+
447
+ 比較しやすくするために、時刻を数値で表すのも良いかと思ってます。
448
+
449
+ 12時30分⇒12.5
450
+
451
+ 0時30分⇒0.5
452
+
453
+ 15時45分⇒15.75
454
+
455
+
456
+
457
+
458
+
459
+ https://www.tagindex.com/javascript/message/time2.html
460
+
461
+ 上記サイトが参考になりそうでしたが、
462
+
463
+ データ側を時間範囲にしたいので少々違うと思っています。
464
+
465
+ データ自体に、7:00以上9:00以下などの範囲に設定できれば
466
+
467
+ 私の実施したい事ができるのですが…。