collections (v3)

Revision 3 of this benchmark created on


Setup

const tripActivities = [{"id":1,"date":"2023-04-14T03:57:48Z"},
{"id":2,"date":"2023-11-13T13:03:00Z"},
{"id":3,"date":"2023-05-08T08:56:49Z"},
{"id":4,"date":"2023-04-18T20:42:32Z"},
{"id":5,"date":"2023-09-07T20:35:33Z"},
{"id":6,"date":"2023-03-24T20:37:31Z"},
{"id":7,"date":"2023-03-23T07:18:15Z"},
{"id":8,"date":"2023-03-25T04:20:20Z"},
{"id":9,"date":"2023-09-22T18:39:40Z"},
{"id":10,"date":"2024-02-08T19:34:30Z"},
{"id":11,"date":"2023-03-08T21:44:37Z"},
{"id":12,"date":"2024-01-23T21:27:58Z"},
{"id":13,"date":"2023-03-29T04:42:40Z"},
{"id":14,"date":"2023-07-25T14:42:32Z"},
{"id":15,"date":"2023-10-29T18:42:09Z"},
{"id":16,"date":"2023-07-01T17:51:29Z"},
{"id":17,"date":"2023-12-29T10:05:17Z"},
{"id":18,"date":"2023-12-15T07:04:19Z"},
{"id":19,"date":"2023-10-25T01:51:35Z"},
{"id":20,"date":"2023-04-13T23:05:31Z"},
{"id":21,"date":"2024-01-17T11:51:18Z"},
{"id":22,"date":"2023-09-20T16:38:26Z"},
{"id":23,"date":"2023-11-16T11:58:47Z"},
{"id":24,"date":"2023-05-02T23:15:40Z"},
{"id":25,"date":"2023-10-22T14:59:00Z"},
{"id":26,"date":"2023-03-30T01:23:13Z"},
{"id":27,"date":"2023-04-28T10:45:21Z"},
{"id":28,"date":"2023-06-06T12:11:34Z"},
{"id":29,"date":"2023-10-22T03:05:12Z"},
{"id":30,"date":"2023-12-03T14:03:08Z"},
{"id":31,"date":"2023-06-15T09:41:06Z"},
{"id":32,"date":"2023-08-21T15:09:05Z"},
{"id":33,"date":"2023-06-11T15:25:48Z"},
{"id":34,"date":"2023-06-11T13:25:14Z"},
{"id":35,"date":"2023-04-05T19:41:20Z"},
{"id":36,"date":"2024-01-04T21:09:53Z"},
{"id":37,"date":"2023-11-04T04:24:40Z"},
{"id":38,"date":"2023-11-24T07:56:15Z"},
{"id":39,"date":"2023-12-10T00:42:38Z"},
{"id":40,"date":"2023-07-01T12:10:03Z"},
{"id":41,"date":"2023-11-08T19:18:14Z"},
{"id":42,"date":"2023-12-12T21:35:45Z"},
{"id":43,"date":"2023-09-25T10:01:31Z"},
{"id":44,"date":"2024-01-21T15:35:11Z"},
{"id":45,"date":"2023-06-08T18:05:13Z"},
{"id":46,"date":"2023-11-11T02:50:27Z"},
{"id":47,"date":"2023-03-09T19:30:53Z"},
{"id":48,"date":"2024-01-13T21:09:55Z"},
{"id":49,"date":"2023-11-22T11:12:46Z"},
{"id":50,"date":"2023-08-08T08:40:24Z"},
{"id":51,"date":"2023-04-17T23:58:48Z"},
{"id":52,"date":"2023-08-01T08:32:40Z"},
{"id":53,"date":"2023-11-08T17:40:52Z"},
{"id":54,"date":"2023-04-02T19:53:25Z"},
{"id":55,"date":"2023-07-18T07:29:37Z"},
{"id":56,"date":"2024-01-09T17:38:37Z"},
{"id":57,"date":"2023-05-21T01:54:27Z"},
{"id":58,"date":"2023-12-23T02:58:28Z"},
{"id":59,"date":"2023-09-17T22:46:15Z"},
{"id":60,"date":"2023-09-30T03:45:37Z"},
{"id":61,"date":"2023-06-24T01:30:12Z"},
{"id":62,"date":"2023-04-19T08:23:36Z"},
{"id":63,"date":"2023-10-28T12:48:07Z"},
{"id":64,"date":"2023-09-11T15:16:30Z"},
{"id":65,"date":"2023-05-22T17:20:35Z"},
{"id":66,"date":"2023-03-30T03:47:11Z"},
{"id":67,"date":"2023-08-06T13:06:06Z"},
{"id":68,"date":"2023-12-09T01:48:46Z"},
{"id":69,"date":"2023-10-31T11:43:04Z"},
{"id":70,"date":"2023-10-17T19:28:57Z"},
{"id":71,"date":"2023-03-12T00:46:29Z"},
{"id":72,"date":"2023-07-10T19:17:47Z"},
{"id":73,"date":"2023-06-25T05:18:04Z"},
{"id":74,"date":"2023-11-29T22:34:41Z"},
{"id":75,"date":"2023-11-10T21:39:30Z"},
{"id":76,"date":"2024-01-25T03:24:10Z"},
{"id":77,"date":"2023-04-23T02:02:10Z"},
{"id":78,"date":"2023-05-23T19:37:23Z"},
{"id":79,"date":"2023-08-12T15:01:22Z"},
{"id":80,"date":"2023-03-21T14:25:13Z"},
{"id":81,"date":"2024-01-30T10:18:06Z"},
{"id":82,"date":"2024-01-04T09:12:55Z"},
{"id":83,"date":"2023-07-20T02:57:28Z"},
{"id":84,"date":"2023-11-04T00:46:49Z"},
{"id":85,"date":"2023-04-18T20:12:17Z"},
{"id":86,"date":"2023-09-12T09:47:59Z"},
{"id":87,"date":"2023-05-09T10:14:21Z"},
{"id":88,"date":"2023-05-07T12:27:56Z"},
{"id":89,"date":"2023-07-10T01:14:15Z"},
{"id":90,"date":"2023-10-13T10:01:28Z"},
{"id":91,"date":"2023-08-30T06:57:29Z"},
{"id":92,"date":"2023-12-10T09:29:11Z"},
{"id":93,"date":"2023-04-17T09:34:49Z"},
{"id":94,"date":"2023-03-13T05:18:52Z"},
{"id":95,"date":"2024-01-29T19:51:10Z"},
{"id":96,"date":"2023-04-08T06:43:05Z"},
{"id":97,"date":"2024-02-03T12:16:16Z"},
{"id":98,"date":"2023-05-18T02:05:02Z"},
{"id":99,"date":"2023-08-31T05:45:10Z"},
{"id":100,"date":"2023-07-03T07:09:08Z"}]

const dateRange = {
        startDate: new Date(2023, 10, 3, 17, 30),
        endDate: new Date(2023, 11, 4, 2, 15),
      }

Test runner

Ready to run.

Testing in
TestOps/sec
Array.forEach
const overlapping = [];

tripActivities.forEach((activity) => {
	if (dateRange.startDate < activity.date && activity.date < dateRange.endDate) {
		overlapping.push(activity);
	}
});

return overlapping;
ready
Array.filter
return tripActivities.filter((activity) => dateRange.startDate < activity.date && activity.date < dateRange.endDate);
ready
Array.reduce
return tripActivities.reduce((acc, activity) => {
	if (dateRange.startDate < activity.date && activity.date < dateRange.endDate) {
		return [...acc, activity];
	} else {
		return acc;
	}
}, []);
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.