cómo obtener una nueva matriz newSelect usando map, forEach
const selects = [false, true, true, true, false]; const oldSelects = [ { select: true, name: 'AA' }, { select: true, name: 'AA' }, { select: true, name: 'AA' }, { select: true, name: 'AA' }, { select: true, name: 'AA' }, ]; const newSelect = [ { select: false, name: 'AA' }, { select: true, name: 'AA' }, { select: true, name: 'AA' }, { select: true, name: 'AA' }, { select: false, name: 'AA' }, ];oldSelects[0].select === selecciona[0]
Oye, puedes asignar la matriz anterior a una nueva.
const selects = [false, true, true, true, false]; const oldSelects = [{ select: true, name: 'AA' }, { select: true, name: 'AA' }, { select: true, name: 'AA' }, { select: true, name: 'AA' }, { select: true, name: 'AA' }, ]; const newSelect = oldSelects.map((object, index) => { object['select'] = selects[index] return object; }) console.log(newSelect)La respuesta de @Inder es excelente, pero un mapa se ve más limpio en mi opinión:
const selects = [false, true, true, true, false]; const oldSelects = [{ select: true, name: "AA" }, { select: true, name: "AA" }, { select: true, name: "AA" }, { select: true, name: "AA" }, { select: true, name: "AA" } ]; const newSelect = oldSelects.map((el, i) => ({ select: selects[i], name: el.name })); console.log(newSelect); const selects = [false, true, true, true, false]; const oldSelects = [{ select: true, name: 'AA' }, { select: true, name: 'AA' }, { select: true, name: 'AA' }, { select: true, name: 'AA' }, { select: true, name: 'AA' }, ]; const newSelects = [] oldSelects.forEach((selectItem, index) => newSelects.push({...selectItem, select: selects[index]})) console.log(newSelects) const selects = [false, true, true, true, false]; const oldSelects = [{ select: true, name: 'AA' }, { select: true, name: 'AA' }, { select: true, name: 'AA' }, { select: true, name: 'AA' }, { select: true, name: 'AA' }, ]; const newSelects = oldSelects.map((selectItem, index) => ({...selectItem, select: selects[index]})) console.log(newSelects)