Tengo un requisito para seleccionar una columna específica basada en la selección.
[ {hallTicket:'A1', studentName :'Shiva', subject : 'maths', obtainedMarks : 95, cutoffmarks : 75, totalMarks : 100}, {hallTicket:'A1', studentName :'Shiva', subject : 'physics', obtainedMarks : 82, cutoffmarks : 75, totalMarks : 100}, {hallTicket:'A1', studentName :'Shiva', subject : 'chemistry', obtainedMarks : 87.5, cutoffmarks : 75, totalMarks : 100}, {hallTicket:'A1', studentName :'Shiva', subject : 'english', obtainedMarks : 62.5, cutoffmarks : 55, totalMarks : 75}, {hallTicket:'A1', studentName :'Shiva', subject : 'social', obtainedMarks : 63, cutoffmarks : 55, totalMarks : 75}, {hallTicket:'A1', studentName :'Shiva', subject : 'telugu', obtainedMarks : 44.5, cutoffmarks : 35, totalMarks : 50}, {hallTicket:'B2', studentName :'Sonu', subject : 'maths', obtainedMarks : 92, cutoffmarks : 75, totalMarks : 100}, {hallTicket:'B2', studentName :'Sonu', subject : 'physics', obtainedMarks : 88, cutoffmarks : 75, totalMarks : 100}, {hallTicket:'B2', studentName :'Sonu', subject : 'chemistry', obtainedMarks : 82.5, cutoffmarks : 75, totalMarks : 100}, {hallTicket:'B2', studentName :'Sonu', subject : 'english', obtainedMarks : 64.5, cutoffmarks : 55, totalMarks : 75}, {hallTicket:'B2', studentName :'Sonu', subject : 'social', obtainedMarks : 63, cutoffmarks : 55, totalMarks : 75}, {hallTicket:'B2', studentName :'Sonu', subject : 'telugu', obtainedMarks : 42, cutoffmarks : 35, totalMarks : 50}, {hallTicket:'C3', studentName :'Sahu', subject : 'maths', obtainedMarks : 90, cutoffmarks : 75, totalMarks : 100}, {hallTicket:'C3', studentName :'Sahu', subject : 'physics', obtainedMarks : 86, cutoffmarks : 75, totalMarks : 100}, {hallTicket:'C3', studentName :'Sahu', subject : 'chemistry', obtainedMarks : 88.5, cutoffmarks : 75, totalMarks : 100}, {hallTicket:'C3', studentName :'Sahu', subject : 'english', obtainedMarks : 72, cutoffmarks : 55, totalMarks : 75}, {hallTicket:'C3', studentName :'Sahu', subject : 'social', obtainedMarks : 64, cutoffmarks : 55, totalMarks : 75}, {hallTicket:'C3', studentName :'Sahu', subject : 'telugu', obtainedMarks : 45, cutoffmarks : 35, totalMarks : 50}, ] ;Quiero seleccionar "studentName", "subject", "cutoffmarks", luego, ¿cómo seleccionar de la tabla json array?
Algo así como consulta
select studentName, subject, cutoffmarks from Tableconsole.log(arr.filter(item => { return item.hallTicket === `B2` && item.studentName === `Sanou`; }));Primero debe corregir su json porque invalida.
--las claves de json necesitan comillas dobles, si el valor es una cadena también necesitan comillas dobles para ejemplos, esto es json correcto.
[{"hallTicket":"A1", "studentName" :"Shiva", "subject" : "maths", "obtainedMarks" : 95, "cutoffmarks" : 75, "totalMarks" : 100} ]Comparto posible solución:
let json = '[{"hallTicket":"A1", "studentName" :"Shiva", "subject" : "maths", "obtainedMarks" : 95, "cutoffmarks" : 75, "totalMarks" : 100} ]'; let data = JSON.parse(json); data.forEach( (element: { studentName: any; subject: any; cutoffmarks: any }) => { this.list.push(element.studentName); this.list.push(element.subject); this.list.push(element.cutoffmarks); } ); console.log('------------------- ' + this.list);¡Código en stackblitzs aquí !
Si solo desea obtener ciertas propiedades de su objeto, usaría Array.prototype.map y elegiría las propiedades deseadas:
const table = [{ hallTicket: 'A1', studentName: 'Shiva', subject: 'maths', obtainedMarks: 95, cutoffmarks: 75, totalMarks: 100 }, { hallTicket: 'A1', studentName: 'Shiva', subject: 'physics', obtainedMarks: 82, cutoffmarks: 75, totalMarks: 100 } ]; const data = table.map(x => ({ studentName: x.studentName, subject: x.subject, cutoffmarks: x.cutoffmarks })); console.log(data);