Estoy tratando de filtrar en función de múltiples valores y solo si no están vacíos. Ejemplo:
jobsTracked = [ { "company": "Company1", "position": "Senior Frontend Developer", "role": "Frontend", "level": "Senior", }, { "company": "Company2", "position": "Senior Frontend Developer", "role": "Frontend", "level": "Senior", }]Estoy tratando de filtrar por 3 valores en este ejemplo: posición, rol, nivel. Y si la posición es una cadena vacía, entonces no quiero filtrarla, pero aún quiero filtrar por rol y nivel si no son una cadena vacía. Y viceversa para todos ellos. ¿Puede la función de filtro de JavaScript hacer esto?
Cuando dices "filtrar", ¿te refieres a algo como esto?
let slot; let role = 'Frontend'; let level = 'Senior'; let position = 'Senior Frontend Developer'; let filtered = []; let length = jobsTracked.length; for (let i = 0; i < length; ++i) { slot = jobsTracked[i]; // "The Filter" if ((slot['role'] != '' && slot['role'] == role) && (slot['level'] != '' && slot['level'] == level) && (slot['position'] != '' && slot['position'] == position)) { filtered.push(slot); } }Lo que hace este script:
jobsTracked .filtered .