Me gustaría empujar los valores basados en otro valor dinámicamente en una matriz. Aquí está mi ejemplo:
const searchData = [ { name: 'Name1', value: 'value1', class: 'class1', }, { name: 'Name1', value: 'value2', class: 'class2', }, ]; const data = [ { ID: 'ID1', staff: [{ value1: 'hello1', value2: 'hallo1' }], }, { ID: 'ID2', staff: [{ value1: 'hello2', value2: 'hallo2' }], }, ]; const array = []; data.foreach(dataElem => { dataElem.staff.foreach(staffElem => { searchData.foreach(searchElem => { array.push(staffElem[searchElem.value]); // all are undefined -> why? )} )} })No sé por qué me quedo indefinido en lugar de los valores reales.
Su código tiene una lógica de error de sintaxis correcta Compare esto con el anterior
data.forEach(dataElem => { dataElem.staff.forEach(staffElem => { searchData.forEach(searchElem => { array.push(staffElem[searchElem.value]) }) }) })