Tengo este código a continuación:
var array1 = ['10/10/2020','11/10/2020','12/10/2020','10/10/2021','12/10/2021','12/10/2021']; <select id="dates"> <option>2021</option> <option>2020</option> </select>Me gustaría saber cómo puedo filtrar el array1 para devolver solo los valores del año seleccionado. Cualquier sugerencia ?
Espero que este código te ayude.
var result = array1.filter(o=>o.indexOf('2021') != -1)Puede obtener ayuda del método de filtro de matriz
const result = array1.filter(date => date.includes(2021))el resultado anterior le dará todas las fechas con el año 2021
Escuche el evento de change y use Array.filter para filtrar los elementos si el año no es el mismo que el valor de select .
Puede obtener el año dividiendo la cadena por una barra inclinada y obteniendo el tercer elemento.
var array1 = ['10/10/2020', '11/10/2020', '12/10/2020', '10/10/2021', '12/10/2021', '12/10/2021']; dates.addEventListener("change", function(){ var filtered = array1.filter(e => e.split("/")[2] == this.value) console.log(filtered) }) <select id="dates"> <option>2021</option> <option>2020</option> </select>