| Сообщение от savsoft | 
	| Клиент хочет, чтобы добавили еще одну колонку с выпадающим списком. При каждом выборе даты, определить день недели и запомнить. Если после этого открыть выпадающий список, то его перед открытием динамически заполнить десятком дат с днем недели, как у последней введенной даты. | 
	
Если вам нужно выбрать дату из календаря (например завтра — пятница), а затем из списка одну из 10 дат (какую-то одну из десяти пятниц), то вам не нужен отдельный массив, всё это решается «на лету»
	
	| Сообщение от savsoft | 
	| Как перехватить событие после выбора даты и вызвать функцию, которая обнулит массив дат и заполнит его датами с таким же днем недели? | 
	
 Метод addEventListener на общем родителе позволит обрабатывать все календари.
	
	| Сообщение от savsoft | 
	| Как при открытии списка, его динамически заполнить датами из массива? | 
	
После выбора даты можно сразу заполнить список следующими десятью датами (следующими 10-ю пятницами), так что изначально будет указана выбранная дата (только одна пятница, а открыв список, можно увеличить кол-во пятниц) с возможностью затем выбрать другую дату.
	
	| Сообщение от savsoft | 
	| После выбора элемента - автоматически заполнить соответствующую дату и отобразить ее? | 
	
 Здесь не совсем понятно, что вы имеете в виду, однако стоит учитывать, что если вы что-то выбираете в списке, то он сам знает, что выбрано, и при отправке формы (или чтении данных формы) выбранная дата будет на месте.
Например так... 
<form name="FormDates" id="fd" method="post" action="">
	<table class="table table-striped table-bordered">
		<thead>
			<tr>
				<th>Id</th>
				<th>Name</th>
				<th>Date</th>
				<th>Select</th>
			</tr>
		</thead>
		<tbody>
			<tr>
				<td>1</td>
				<td>Name 1</td>
				<td><input type="date" name="task_date[1]" value=""></td>
				<td>
					<select name="select_date[1]"></select>
				</td>
			</tr>
			<tr>
				<td>2</td>
				<td>Name 2</td>
				<td><input type="date" name="task_date[2]" value=""></td>
				<td>
					<select name="select_date[2]"></select>
				</td>
			</tr>
			<tr>
				<td>3</td>
				<td>Name 3</td>
				<td><input type="date" name="task_date[3]" value=""></td>
				<td>
					<select name="select_date[3]"></select>
				</td>
			</tr>
		</tbody>
	</table>
</form>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css">
<style>
	#fd select:empty {
		display: none;
	}
	#fd table {
		table-layout: fixed;
	}
</style>
<script>
document.getElementById("fd").addEventListener("input", event => {
	const target = event.target;
	if(target.matches("[name^=task_date]")) {
		const select = target.form.querySelector(`[name="${target.name.replace("task", "select")}"`);
		select.textContent = "";
		if(!target.value) return;
		const date = new Date(target.value);
		for(let i = 0; i < 10; i++) {
			select.append(new Option(
				date.toLocaleDateString(navigator.language),
				date.toISOString().replace(/T.+$/, ""))
			);
			date.setDate(7 + date.getDate());
		}
	}
});	
</script>