[...Array(12)].map(row => [...Array(31)])
[...Array(12)].map((row, x) =>
[...Array(31)].map((col, y) => x * 31 + y)
)
doc1 = [850, 950, 1100] // для удобства счета 800 = 8:00 850 = 8:30 итд
doc2 = [1100, 1200]
doc3 = [1000]
docs = [doc1, doc2, doc3]
STEP = 50 // 0.5 часа
for (let i = 800; i < 1400; i += STEP){
console.log(i)
const found = docs.filter(d => !d.some(time => [i - STEP, i, i + STEP].includes(time)))
console.log(found) // выводит доступных врачей на время i, или пустой массив, если никого нет
}
data = [
{"name":"Adhi Kot","id":"379","nametype":"Valid","recclass":"EH4","mass":"4239","fall":"Fell","year":"1919-01-01T00:00:00.000","reclat":"32.100000","reclong":"71.800000","geolocation":{"type":"Point","coordinates":[71.8,32.1]}},
{"name":"Adzhi-Bogdo (stone)","id":"390","nametype":"Valid","recclass":"LL3-6","mass":"910","fall":"Fell","year":"1949-01-01T00:00:00.000","reclat":"44.833330","reclong":"95.166670","geolocation":{"type":"Point","coordinates":[95.16667,44.83333]}}
]
const find = (rec, key) => (data.find(v => v.recclass === rec) || {})[key]
find('EH4', 'mass')
// 4239
$('input#searchVariant').on('keyup', function () {
вычислить строку по которой искать,
найти нужные элементы в массиве/объекте с данными,
сделать для каждого свой блок
добавить куда надо на страницу
}