Array.from({ length: 48 }, (n, i) => {
const d = new Date(0, 0, 0, 0, 30 * i);
return d.toLocaleTimeString('en-US', { hour: '2-digit', minute: '2-digit' });
})
let date1 = new Date('2020-05-08 12:51').getTime();
let date2 = new Date('2020-05-08 12:52').getTime();
/* переводим timestamp в минуты */
date1 = Math.floor((date1 / 1000 / 60));
date2 = Math.floor((date2 / 1000 / 60));
/* сравниванием минуты */
if (date1 === date2) {
console.log('время в минутах совпадает');
} else {
console.log('время в минутах НЕ совпадает');
}
/* или через тернарный оператор:
(date1 === date2) ? 'время в минутах совпадает' : 'время в минутах НЕ совпадает';
*/
const key = 'workplace';
const values = [ 'office', 'hotel' ];
const result = arr.filter(n => values.includes(n[key]));
// или
const result = values.flatMap(function(n) {
return this[n] ?? [];
}, arr.reduce((acc, n) => ((acc[n[key]] = acc[n[key]] ?? []).push(n), acc), {}));
// или
const filter = (arr, key, values) =>
arr.filter(function(n) {
return this.has(n[key]);
}, new Set(values));
const result = filter(arr, key, values);